π
<-

[AIDE]Programme(s) en Axe Parser

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

Re: [AIDE]Programme(s) en Axe Parser

Messagede Kiligolo » 06 Nov 2010, 21:14

kindermoumoute a écrit:
Kiligolo a écrit:Image
EDIT: Le GB0 on le met avec les pics ou n'importe où?
EDIT2:Oublie cette question. Je fais une data pour le menu.

C'est avec les datas ce screen ? A tu compris les data ?

Je n'ai pas trop compris les fonctions DS et GN. ^^'
En fait je n'ai pas de gris dans les sprites donc j'ai effacé quelques trucs et... il ne se passe strictement rien. Le programme s'arrete juste après l'introduction...
J'ai vu qu'il manquait un Return à la fin de GN mais ça ne change rien T_T .
EDIT:
 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
.Fonction de dessin
Lbl DS
ClrDraw
ClrDrawr
For(X,0,11)
For(Y,0,7)
sub(GN,Y+A*12+X+B)=W
Pt-On(X*8,Y*8,W*8+Pic1)
End
End
Return

.Recuperation de la data
Lbl GN
{r�1/2+D}=S
If r�1^2
S^16
Else
S/16
End
Return

Mais les r1 sont bien les fonctions r1 jusqu'a r0?
Avatar de l’utilisateur
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 84.3%
 
Messages: 1465
Inscription: 17 Mai 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Messagede kindermoumoute » 06 Nov 2010, 23:05

Le problème c'est qu'il faut avoir un peu de notion sur l'hexadécimal et les octets (je ne sais pas si tu en a :/).
La liste des variables r1-r6 se trouve ici : ImageImageImage

Donc rapidement :
Un octet c'est 8 bits, 1 bit c'est soit 0 soit 1. La valeur maximum de un octet est donc de :
11111111
C'est du binaire (base 2). On transforme ce binaire en décimal et on obtient 255, il y a donc 256 possibilités d'octets (de 0 à 255).
255 en hexadécimal est FF. Cela tombe bien, comme la base hexadécimal (base 16) est puissance du binaire (2^3), on peut donc rentrer 1 octet avec 2 chiffre hexadécimals.
C'est pour cela que sur une sprite de 16 chiffres ([8100000000000081] par exemple) tu fait Pic1+8 octet pour passer à la suivante.

La fonction DS va en fait afficher les tiles au bonne endroit de l'écran.

Et la fonction GN va extraire d'un octet, 2 valeurs hexadécimal (ici transformé en décimal).

Je recommente le code car ce n'était pas le bon :
Code: Tout sélectionner
:[100000000001]→GDB0
:[122222222221]
:[100000000003]
:[100404000003]
:[100444000003]
:[100000000003]
:[100000000003]
:[100000000003]
:[122222222221]
:.Chaque chiffre hexadécimal correspond à l'emplacement d'une tile sur l'écran, c'est des datas
:
:[0000000000000000→Pic1 //la tile numéro 0 utilisé en général pour afficher un blanc
:[8100000000000081] //la tile numéro 1
:[000000FFFF000000] // la tile numéro 2
:[1818181818181818] // la tile numéro 3
:[187E42C3C3427E18] // la tile numéro 4
:...
:.Jusqu'à 16 tiles tu peut (c'est de l'héxadécimal)
:
:.même chose que précédemment mais pour le back buffer (en gris)
:[0000000000000000→Pic2
:[00003C3C3C3C0000] //la tile numéro 1
:[0000FF0000FF0000] // la tile numéro 2
:[2424242424242424] // la tile numéro 3
:[003C242424243C00] // la tile numéro 4
:.etc
:
:0→S→W
:
:...
:sub(DS)
:Repeat getKey(0)
:DispGraphr
:End
:...
:
:.Fonction de dessin
:Lbl DS
:ClrDraw
:ClrDrawr
:
:.L'écran est de 96 pixels en X (12*8) et de 64 pixel en Y (8*8)
:For(X,0,11)
:For(Y,0,7)
:
:.*12 pour sauter une ligne en fonction de Y
:sub(GN,Y*12+X)→W
:.W aura donc la valeur de l'octet correspondant à X et Y dans les datas
:Pt-On(X*8,Y*8,W*8+Pic1)
:.X*8 et Y*8 en fonction grâce aux boucles For( et W*8 pour les sprites
:Pt-On(X*8,Y*8,W*8+Pic2)r
:End
:End
:Return
:
:.On récupère la data
:Lbl GN
:.Comme pour les sprites, on fait GDB+(le nombre d'octet voulu)
:{r1/2+GDB0}→S
:
:.Si le nombre voulu est le deuxième chiffre (hexadécimal) de l'octet enregistré dans S
:If r1^2
:S^16
:Else
:.Ou sinon ce sera forcément le premier chiffre (hexadécimal) de renvoyé
:S/16
:End
:.La fin d'un programme est un simple Return
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: [AIDE]Programme(s) en Axe Parser

Messagede Kiligolo » 07 Nov 2010, 21:14

En fait, je n'ai pas de sprites à mettre dans le back buffer. Donc je ne sais pas quoi supprimer. :(:
Avatar de l’utilisateur
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 84.3%
 
Messages: 1465
Inscription: 17 Mai 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Messagede kindermoumoute » 07 Nov 2010, 22:09

Je laisse tomber --'

Code: Tout sélectionner
:[100000000001]→GDB0
:[122222222221]
:[100000000003]
:[100404000003]
:[100444000003]
:[100000000003]
:[100000000003]
:[100000000003]
:[122222222221]
:.Chaque chiffre hexadécimal correspond à l'emplacement d'une tile sur l'écran, c'est des datas
:
:[0000000000000000→Pic1 //la tile numéro 0 utilisé en général pour afficher un blanc
:[8100000000000081] //la tile numéro 1
:[000000FFFF000000] // la tile numéro 2
:[1818181818181818] // la tile numéro 3
:[187E42C3C3427E18] // la tile numéro 4
:...
:.Jusqu'à 16 tiles tu peut (c'est de l'héxadécimal)
:
:0→S→W
:
:...
:sub(DS)
:Repeat getKey(0)
:DispGraph
:End
:...
:
:.Fonction de dessin
:Lbl DS
:ClrDraw
:
:.L'écran est de 96 pixels en X (12*8) et de 64 pixel en Y (8*8)
:For(X,0,11)
:For(Y,0,7)
:
:.*12 pour sauter une ligne en fonction de Y
:sub(GN,Y*12+X)→W
:.W aura donc la valeur de l'octet correspondant à X et Y dans les datas
:Pt-On(X*8,Y*8,W*8+Pic1)
:.X*8 et Y*8 en fonction grâce aux boucles For( et W*8 pour les sprites
:End
:End
:Return
:
:.On récupère la data
:Lbl GN
:.Comme pour les sprites, on fait GDB+(le nombre d'octet voulu)
:{r1/2+GDB0}→S
:
:.Si le nombre voulu est le deuxième chiffre (hexadécimal) de l'octet enregistré dans S
:If r1^2
:S^16
:Else
:.Ou sinon ce sera forcément le premier chiffre (hexadécimal) de renvoyé
:S/16
:End
:.La fin d'un programme est un simple Return
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: [AIDE]Programme(s) en Axe Parser

Messagede Kiligolo » 08 Nov 2010, 11:18

Merci Image
Avatar de l’utilisateur
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 84.3%
 
Messages: 1465
Inscription: 17 Mai 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Messagede Kiligolo » 20 Déc 2010, 12:26

Ah cool! :%):
Mais tu n'étais pas obligé de faire ça: on peut toujours compiler avant de poster. ça serais donc dans les catégories flash, asm (no)stub. Mais ça pourrais être pratique pour poster les sources.
Il faudrait le faire aussi pour les programmes en BBC Basic.
Avatar de l’utilisateur
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 84.3%
 
Messages: 1465
Inscription: 17 Mai 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Messagede jacques » 20 Déc 2010, 21:56

+1 à Kiligolo.

Autant une catégorie BBC Basic aurait eu une vraie raison d'être, mais vu qu'il n'y a que très peu de programmes en ce langage, je ne sait pas si ça serait très utile.
Sublime Chevalier Elu des TI

Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!

Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
Avatar de l’utilisateur
jacques
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 14.9%
 
Messages: 2057
Images: 0
Inscription: 25 Aoû 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: prépa PSI

Re: [AIDE]Programme(s) en Axe Parser

Messagede TNT+ » 19 Jan 2011, 19:07

Salut,

Kindermoumoute, je n'ai pas trop compris comment faire un système de tile mapping.
Ce n'est pas au niveau de l'algorithme que je ne comprends pas, mais au niveau du fonctionnement des datas en axe parser. Pourrais-tu m'expliquer un petit peu plus en détail STP ?

Merci d'avance ! :D:
Avatar de l’utilisateur
TNT+
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 28%
 
Messages: 14
Inscription: 14 Jan 2011, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nde

Re: [AIDE]Programme(s) en Axe Parser

Messagede kindermoumoute » 19 Jan 2011, 20:07

Arg, désolé, je ne répondrai pas.
Pourquoi ? parce que c'est l'objet principale de la prochaine partie de mon tutoriel !
Je te demanderai donc d'être patient, même si tu doit attendre plusieurs semaines. :#gni#:
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: [AIDE]Programme(s) en Axe Parser

Messagede TNT+ » 19 Jan 2011, 20:51

Mé euh... :#ouin#:
Avatar de l’utilisateur
TNT+
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 28%
 
Messages: 14
Inscription: 14 Jan 2011, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nde

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 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.
2913 utilisateurs:
>2899 invités
>8 membres
>6 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)