:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Tutoriels

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 15/03/2007, 21h22   #51
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 570
Par défaut

Citation:
Envoyé par Pitt
Cet exemple utilise le canal 3, et copie des octets (même si on utilise une taille en mots, puisqu'on divise cette taille par 2 ). Vous pouvez bien entendu utiliser un autre canal, ou encore transférer des mots (DMA_COPY_WORDS) plutôt que des octets (DMA_COPY_HALFWORDS).
Si je ne m'abuse un mot (word) c'est 32 bits donc 4 octets, et un halfword 16 bits soit 2 octets
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation

Publicité

Vieux 15/03/2007, 23h11   #52
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Citation:
Envoyé par Noda
Si je ne m'abuse un mot (word) c'est 32 bits donc 4 octets, et un halfword 16 bits soit 2 octets
Très juste, merci pour la correction de coquilles.
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 16/03/2007, 00h48   #53
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 963
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Pitt
* Serait il possible d'utiliser des '|' dans les tableaux ?
C'est fait, il suffit juste de doubler le caractère |
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 16/03/2007, 23h03   #54
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

T'es génial !
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 16/03/2007, 23h12   #55
Foxy
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 366
Par défaut

Citation:
Envoyé par Noda
Si je ne m'abuse un mot (word) c'est 32 bits donc 4 octets, et un halfword 16 bits soit 2 octets
Hmm.. Normalement un WORD c'est 16 bits et un DWORD c'est 32 bits.
__________________
Mes releases persos, etc...
Foxy est déconnecté   Réponse avec citation
Vieux 17/03/2007, 01h19   #56
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 226
Par défaut

En C sous Windows (et probablement ailleurs) c'est comme ça, mais dans le jeu d'instructions d'ARM c'est word = 32 et halfword = 16, je n'ai d'ailleurs jamais vraiment compris, il ne doit pas y avoir de standard
Brunni est déconnecté   Réponse avec citation
Vieux 17/03/2007, 01h22   #57
Foxy
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 366
Par défaut

Merci pour l'info Brunni, au moins c'est plus clair là
__________________
Mes releases persos, etc...
Foxy est déconnecté   Réponse avec citation
Vieux 17/03/2007, 11h14   #58
Arialia
Elite
 
Date d'inscription: 10/04/2006
Localisation: Pays de la moutarde
Messages: 901
Par défaut

tiré de wikipedia :
Citation:
En plus du système de représentation des nombres, il faut s'intéresser à la taille et la précision des nombres qu'un processeur peut manipuler. Dans le cas d'un processeur binaire, un "bit" correspond à une position particulière dans les nombres que le processeur peut gérer. Le nombre de bits (chiffres) qu'un processeur utilise pour représenter un nombre est souvent appelé "taille du mot" (word size, bit width, data path width) ou "précision entière" lorsqu'il s'agit de nombres entiers (à l'opposé des nombres flottants). Ce nombre diffère suivant les architectures, et souvent, suivant les différents modules d'un même processeur. Par exemple, un CPU 8-bit gère des nombres qui peuvent être représentés par 8 chiffres binaires (chaque chiffre pouvant prendre 2 valeurs), soit 28 ou 256 valeurs discrètes. En conséquence, la taille du nombre entier défini une limite à la plage des nombres entiers que le logiciel exécuté par le processeur pourra utiliser.
Donc comme l'arm est 32 bits la taille du mot est donc 32 bits, c'est pour ça que pour le compilateur un word est sur 32 bits...

Sur PC, il faut tenir compte de l'historique : le 8086 est un processeur 16 bits ainsi que le 80286 les premiers compilateurs pc sont nés à cette époque et donc un "word" était sur 16 bits, apparemment certains compilateurs sur Pc ont donc gardé cette taille pour la compatibilité du code ...

donc attention à la taille du "word" tout dépend du processeur ciblé et du compilateur ....
Arialia est déconnecté   Réponse avec citation
Vieux 17/03/2007, 21h49   #59
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Oui, effectivement, c'est très aléatoire, d'où la confusion que j'avais faite dans le tuto ...
En tout cas, update demain, avec restructuration totale du tuto ...
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 17/03/2007, 22h17   #60
Aigle d'or
Newbie
 
Date d'inscription: 14/02/2007
Messages: 4
Par défaut

Si dans le langage courant, on parle de mot machine, c'est pour bien sous entendre que la taille du mot est lié au processeur qui le manipule.
Aigle d'or est déconnecté   Réponse avec citation
Vieux 18/03/2007, 19h53   #61
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Finalement, pas de nouvelle version aujourd'hui, mais je suis en train de refaire complètement le tuto, tout en l'améliorant ...
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 23/03/2007, 18h20   #62
simonomis
Membre confirmé
 
Date d'inscription: 30/03/2006
Messages: 201
Par défaut

Citation:
Envoyé par Pitt
On va maintenant désactiver l'écran tactile, qui ne nous sert à rien, en ne lui affectant aucun mode graphique.
Par contre, on initialise l'écran du haut, sur lequel on va écrire notre texte, au mode graphique nécessaire, c'est-à-dire le mode 0 2D. On va également activer un des fonds, le fond 0.
Les fonds sont des couches superposées, qui gèrent la transparence, et qui permettent d'utiliser plusieurs "niveaux" d'affichage.

Code PHP:
 videoSetMode(0);
 
videoSetModeSub(MODE_0_2D DISPLAY_BG0_ACTIVE); 
ce n'est pas l'inverse qui est fait avec ce code ?!
chez moi, quand je tape ca, l'ecran du haut est desactivé et le texte est en bas...
simonomis est déconnecté   Réponse avec citation
Vieux 23/03/2007, 19h02   #63
pmcc
Membre confirmé
 
Date d'inscription: 02/02/2007
Localisation: Ivry sur Seine (94)
Messages: 60
Par défaut

Citation:
Envoyé par simonomis
ce n'est pas l'inverse qui est fait avec ce code ?!
chez moi, quand je tape ca, l'ecran du haut est desactivé et le texte est en bas...
Il a peut-être inversé les 2 écrans (de tête SwapLcd()).
__________________
Projet DS en attente : Arkanoid 2
Devblog : www.gotrooted.net
pmcc est déconnecté   Réponse avec citation
Vieux 23/03/2007, 19h10   #64
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

arf, oui, j'avais inversé mes écrans dans mon code de test, et j'avais pas vérifié cette partie du code ...
bon, je corrigerai, mais de toute façon, le tuto revient dans pas longtemps, sous une tout autre forme, et en beaucoup mieux !
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 25/03/2007, 20h01   #65
mastertop101
Membre confirmé
 
Date d'inscription: 14/11/2005
Messages: 346
Par défaut

Salut, j'ai essayé de compiler et je me retrouve avec plusieurs problèmes (et je ne suis pas le seul à en avoir)

Citation:
C:\devkitPro\ESSAIS_LIBNDS\arm9>make
main.c
arm-eabi-gcc -MMD -MP -MF /c/devkitPro/ESSAIS_LIBNDS/arm9/build/main.d -g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -I/c/devkitPro/ESSAIS_LIB
NDS/arm9/include -I/c/devkitPro/libnds/include -I/c/devkitPro/ESSAIS_LIBNDS/arm9/build -DARM9 -c /c/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c -o main.o
c:/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c: In function 'main':
c:/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c:10: warning: implicit declaration of function 'BG_MAP_BG'
c:/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c:11: warning: implicit declaration of function 'RGB'
c:/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c:15:3: warning: no newline at end of file
linking arm9.elf
main.o: In function `main':
c:/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c:10: undefined reference to `BG_MAP_BG'
c:/devkitPro/ESSAIS_LIBNDS/arm9/source/main.c:11: undefined reference to `RGB'
collect2: ld returned 1 exit status
make[1]: *** [/c/devkitPro/ESSAIS_LIBNDS/arm9/arm9.elf] Error 1
make: *** [build] Error 2

C:\devkitPro\ESSAIS_LIBNDS\arm9>pause
Press any key to continue . . .

Et mon code :

Code:
#include <nds.h>
#include <stdio.h>
int main (void){
	irqInit();
	irqSet(IRQ_VBLANK,0);
	videoSetMode(0);
	videoSetModeSub(MODE_0_2D | DISPLAY_BG0_ACTIVE);
	vramSetBankC(VRAM_C_SUB_BG);
	SUB_BG0_CR=BG_MAP_BG(31);
	BG_PALETTE_SUB[255] = RGB(31, 31, 31); 
	consoleInitDefault((u16*)SCREEN_BASE_BLOCK_SUB(31),(u16*)CHAR_BASE_BLOCK_SUB(0),16);
	iprintf("Hello world !\n");
	return 0;
	}
Utilisant le template :
C:\devkitPro\examples\nds\templates\arm9

Merci de votre aide
mastertop101 est déconnecté   Réponse avec citation
Vieux 25/03/2007, 21h13   #66
pmcc
Membre confirmé
 
Date d'inscription: 02/02/2007
Localisation: Ivry sur Seine (94)
Messages: 60
Par défaut

Citation:
Envoyé par mastertop101
Salut, j'ai essayé de compiler et je me retrouve avec plusieurs problèmes (et je ne suis pas le seul à en avoir)




Et mon code :

Code:
#include <nds.h>
#include <stdio.h>
int main (void){
	irqInit();
	irqSet(IRQ_VBLANK,0);
	videoSetMode(0);
	videoSetModeSub(MODE_0_2D | DISPLAY_BG0_ACTIVE);
	vramSetBankC(VRAM_C_SUB_BG);
	SUB_BG0_CR=BG_MAP_BG(31);
	BG_PALETTE_SUB[255] = RGB(31, 31, 31); 
	consoleInitDefault((u16*)SCREEN_BASE_BLOCK_SUB(31),(u16*)CHAR_BASE_BLOCK_SUB(0),16);
	iprintf("Hello world !\n");
	return 0;
	}
Utilisant le template :
C:\devkitPro\examples\nds\templates\arm9

Merci de votre aide
RGB15 à la place de RGB, et BG_MAP_BASE pour BG_MAP_BG.
__________________
Projet DS en attente : Arkanoid 2
Devblog : www.gotrooted.net
pmcc est déconnecté   Réponse avec citation
Vieux 25/03/2007, 21h52   #67
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

arf oui, j'étais pas inspiré le soir où j'ai écrit ça ?!
Bon, bientôt une nouvelle version, et sans les bugs ...
Personne ne l'avait remarqué avant ?
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 25/03/2007, 22h06   #68
Arialia
Elite
 
Date d'inscription: 10/04/2006
Localisation: Pays de la moutarde
Messages: 901
Par défaut

Oh ! je l'avais pas remarqué j'ai du faire une correction automatique sans faire gaffe ! Le cerveau nous joue des tours des fois ....
Arialia est déconnecté   Réponse avec citation
Vieux 25/03/2007, 23h42   #69
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 963
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

le truc que tu devrais faire Pitt c'est tester les bouts de code avant de poster pour être sur qu'il n'y a pas de coquilles
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 26/03/2007, 19h54   #70
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

C'est ce que j'avais fait, mais comme j'avais utilisé plusieurs codes de test, j'ai juste du me tromper de fenêtre XD ...

P.S.: Regarde ta messagerie !
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 26/03/2007, 21h39   #71
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Grosse update, pas énormément de nouveautés, mais c'est 3x plus précis, 3x plus structuré, et 3x plus long aussi ...
Les commentaires/remarques/suggestions sont les bienvenus ...

Enjoy !
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 29/03/2007, 15h31   #72
Arialia
Elite
 
Date d'inscription: 10/04/2006
Localisation: Pays de la moutarde
Messages: 901
Par défaut

très bien Pitt

du coup je viens de voir cette fonction :
swiDecompressHuffman

est-ce qu'en utilisant cette fonction je gagnerai du temps par rapport à la fonction équivalente de la jpeglib ou seulement de la mémoire( se serait déjà pas mal ...) ?
Arialia est déconnecté   Réponse avec citation
Vieux 29/03/2007, 17h08   #73
Foxy
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 366
Par défaut

Citation:
Envoyé par Pitt
De plus, la DS est Little Endian, donc les octets qui composent chaque mot ne sont pas inversés. Par exemple le double-mot 0xBADC0FEE sera stocké comme suit, c'est-à-dire exactement comme on l'écrit en hexadécimal :

[TABLE 1 3 0]
2^Octet|0|1|2|3
Valeur|BA|DC|OF|EE
[/table]
C'est le contraire
C'est en Big Endian que les octets ne sont pas inversés, en Little Endian les octets se lisent de droite à gauche (comme sur PC).
__________________
Mes releases persos, etc...
Foxy est déconnecté   Réponse avec citation
Vieux 29/03/2007, 17h38   #74
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 963
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

effectivement Pitt,, faut que tu inverse l'entête du tableau 0123 -> 3210
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 29/03/2007, 17h41   #75
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Arf tiens, j'ai appris un truc, je pensais sincèrement que c'était l'inverse !
Je corrige !

Pour la fonction swiDecompressHuffman, je l'ai pas encore testée, donc je ne sais pas ce qu'elle vaut, mais ça doit pouvoir optimiser un peu, en effet.

Merci pour vos remarques !

EDIT : c'est fait !
@Dr.Vince >> je vais bientôt rajouter la 2ème "partie", enfin tu vois ce que je veux dire quoi ...
__________________
Utiliser la libnds ?
What's it ?

Dernière modification par Pitt ; 29/03/2007 à 17h49.
Pitt est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h59.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince