1Fermer3
GT TurboLe 03/01/2008 à 20:42
Darkline (./1) :
Salut,

Parce que rien que des trucs comme ca: (code de Fadest)



Ca ne veut rien dire pour moi! Ok, on définit 2 constantes mais pourquoi 8160 et les "at (MEMTOP-16320); " et "at (MEMTOP-8160); "

Sachant qu'ensuite on les retrouve dans "SetBuffers(SCREEN, RENDER ,0); "
Si je regarde du côté des demos de Mister Domin on a "SetBuffers(0x9000,0,0);"
Quant à Bjoern c'est "SetBuffers(0xc000, 0xc000, 0x0);"
Hormis le dernier argument qui est toujours à 0, les 2 premiers non. Et surtout que d'un côté on a de l'hexa et de l'autre une constante système ou je ne sais quoi! ^^

Ca me laisse dubitatif toute cette histoire...


Ensuite "DrawFBox(0,0,160,102,0);", on définit la taille de l'écran mais la dernière variable peut changer (apparement le 15 donne du blanc). Quelles sont les valeurs possibles et le résultat final?

Et pour finir : "Vsync();" et "SwapBuffers();" qu'est-ce que ca fait?


PS: Vince j'ai bien reçu le PCB, merci. Maintenant va falloir me dire où souder les 13 fils! grin

Merci pour votre aide smile

-[DL]-


Coucou smile

Je suis pas un specialiste de la Lynx, je suis une grosse b.... en C, mais certaines choses je peux t'expliquer par exemple :

char SCREEN[8160] at (MEMTOP-16320);
char RENDER[8160] at (MEMTOP-8160);

Cela permet de se reserver de la place pour un ecran virtuel, la Lynx a un ecran de 160*102 pixels, Fadest / Vince corrigez moi si je me trompes, une ligne de 160 pixels consomme 80 octets car un pixel est codé sur 4 bits (16 couleurs) donc un demi octet, donc 160 / 2=80 et si tu mutiplies par 102 cela te fait 80*102=8160 et hop le tour est joué.

Par exemple SCREEN sera une suite de 8160 octets. MEMTOP signifie le haut de la memoire, je supposes que c'est defini dans un fichier d'init ou d'autres et 16320 ben c'est 8160*2. Voili voila

Le setbuffer doit permetre de definir l'ecran logique et physique, en gros celui affiche par la console (Physique) et celui ou on gribouille (Logique).

Par exemple Domin a juste un ecran physique situé en $9000 dans la ram, bour Bjoern en $c0000, pour l'ecran physique et logique, donc il representeront exactement la meme chose. Pour Fadest c'est simple son premier ecran sera situe a Memtop-16320 et le Second a Memtop-8160, cela revient pareil, excepté que Fadest a pris des versions plus lisibles pour l'etre humain et surtout plus pratique.

DrawFBox(0,0,160,102,0)

Je supposes que cela permet de dessiner une boite de couleur derniere variable mais on attendra les pros pour confirmation.

Vsync pareil que partout cela permet d'attendre un signal de redessin de l'ecran, en gros cela permet de se synchroniser sur l'affichage de la console, je te l'expliquerais plus longuement mais pas ce soir, j'ai un code a debugger en urgences et Swapbuffer est liee au Vsync et permet je supposes (Encore une fois) d'echanger les deux ecrans pour faire de l'animation sur deux ecrans.


Plus de details par nos amis Lynxistes, sinon peut etre a demain soir smile

GT a la bourre top