π
<-

[AIDE]Programme(s) en Axe Parser

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

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

Unread postby Kiligolo » 06 Nov 2010, 21:14

kindermoumoute wrote:
Kiligolo wrote: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: Select all
.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?
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

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

Unread postby 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: Select all
:[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 !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

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

Unread postby 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. :(:
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

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

Unread postby kindermoumoute » 07 Nov 2010, 22:09

Je laisse tomber --'

Code: Select all
:[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 !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

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

Unread postby Kiligolo » 08 Nov 2010, 11:18

Merci Image
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

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

Unread postby Kiligolo » 20 Dec 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.
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

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

Unread postby jacques » 20 Dec 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 !!
User avatar
jacques
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 14.9%
 
Posts: 2057
Images: 0
Joined: 25 Aug 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: prépa PSI

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

Unread postby 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:
User avatar
TNT+
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 28%
 
Posts: 14
Joined: 14 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2nde

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

Unread postby 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 !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

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

Unread postby TNT+ » 19 Jan 2011, 20:51

Mé euh... :#ouin#:
User avatar
TNT+
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 28%
 
Posts: 14
Joined: 14 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2nde

PreviousNext

Return to Langages alternatifs

Who is online

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

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
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.
927 utilisateurs:
>903 invités
>19 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
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)