
Mais je pense pas que le scintillement puisse être complètement éliminé. Exposer la calc. au soleil suffit déjà à voir le balayage de l'écran quand il est en n&b alors les nvg...
Sasume
: 1. Impossible avec les programmes utilisant les float
2004-02-19 Kevin Kofler <Kevin@tigcc.ticalc.org> * config/m68k/m68k.c (output_move_double): Fix 10-byte fp stack pushes.
2. Et tu oses dire que ça ne ralentit pas... Franchement, tu es vraiment de mauvaise foi, c'est réellement insupportable
Pourquoi tu n'en dis pas plus ?
Et le fait que ça pessimise le code appelant ?
Et le fait que ça peut gêner l'allocateur de registres ?
Sasume
: Sinon, pour revenir au sujet (ou presque) : quelqu'un peut-il expliquer comment faire pour stabiliser les niveaux de gris sur HW2 (sur HW1 c'est compliqué ou non ?) ?
GoldenCrystal :
Ben, il y a un port qui te permet de mofifier la hauteur virtuelle de l'écran (on peut faire pas mal de conneries avec d'ailleurs) Si tu diminues cette hauteur virtuelle, le rafraîchissement sera plus fréquent et les gris scintilleront peut-être un peu moins. Je crois que c'est ce que fait GrayAdjust, donc essaye là avant de tenter un accès direct au hardware.
Sasume :Y'a pas 50 méthodes pour faire des nvg pourtant
Oui, mais entre mes essais et lees niveaux de gris de TIGCCLIB ou ceux de genlib, il y a une grosse différence
Kevin KoflerOK, désolé, je n'ai que la beta 1 sur mon PC (ce n'était pas de la mauvaise foi, je ne savais vraiment pas que c'était corrigé).
:SasumeFaux!!! Ce problème est corrigé depuis GCC 3.3.3-tigcc-1 (TIGCC 0.95 Beta 6)
: 1. Impossible avec les programmes utilisant les float
Je ne te suis pas trop. En tout cas, ce que je voulais dire, c'est que c'est bien plus lent que d'appeler les ROM_CALLs de la façon classique, donc dans un jeu gourmand, ce n'est même pas la peine d'y penser (mais bon, en général, on n'appelle pas trop de ROM_CALLs dans un jeu gourmand).2. Et tu oses dire que ça ne ralentit pas... Franchement, tu es vraiment de mauvaise foi, c'est réellement insupportable
Tu n'es pas obligé d'utiliser USE_FLINE_ROM_CALLS, -fomit-frame-pointer suffit largement. Mais USE_FLINE_ROM_CALLS est le futur, c'est de loin la méthode la plus efficace en taille.
Si puisque de toute façon, le code appelant se retrouve avec un registre utilisable en moins par rapport à la version non patchée, donc il aura forcément une gêne...Et le fait que ça pessimise le code appelant ?Pas si on libère assez de registres.
Sasume
:Je ne te suis pas trop. En tout cas, ce que je voulais dire, c'est que c'est bien plus lent que d'appeler les ROM_CALLs de la façon classique, donc dans un jeu gourmand, ce n'est même pas la peine d'y penser (mais bon, en général, on n'appelle pas trop de ROM_CALLs dans un jeu gourmand).2. Et tu oses dire que ça ne ralentit pas... Franchement, tu es vraiment de mauvaise foi, c'est réellement insupportable
Tu n'es pas obligé d'utiliser USE_FLINE_ROM_CALLS, -fomit-frame-pointer suffit largement. Mais USE_FLINE_ROM_CALLS est le futur, c'est de loin la méthode la plus efficace en taille.
PpHd :
Rappel historique: Les HW2 sortent: ca fout la merde pour les niveaux de gris.
PpHd se met au boulot et sort les premiers niveaux de gris pour HW2 -merdiques- (Oue c'est moi) utilises par un jeu.
Thomas Nusbaumer desassemble les routines de niveaux de gris de JM et les file a tigcclib sous la licence tict (a savoir licence ou on ne sait pas trop qui a droit a quoi).
PpHd :Comment ?
>Sur HW1/VTI, avec le double-buffering par échange de pointeurs, on est obligé de faire un GrayWaitNSwitches(2); après le GrayDBufToggle(); avant de pouvoir dessiner quoi que ce soit sur le plan caché. Pas si on s'y prend correctement.
GrayDBufToggle(); if (_GrayIsRealHW2()) plane0 = GrayDBufGetHiddenPlane(0), plane1 = GrayDBufGetHiddenPlane(1); else plane0 = GrayDBufGetActivePlane(0), plane1 = GrayDBufGetActivePlane(1);...ce code devrait fonctionner