Houlà! Ce ne serait pas plutôt 16 bits?
Bas c'est variable en faite.

Donc ça peut faire 64 bits à 8 bits

.
Malheureusement oui. Et ce n'est pas le pire de mes codes. Cependant, je ne pensais pas distribuer la source de Mario, donc je n'ai pas fait d'effort. Aujourd'hui, je pars du principe qu'il y aura toujours quelqu'un pour relire mes progs, (Open Source Pawaaa!) ne fût-ce que moi plus tard par nostalgie...
Je ne fait pas mieux en Visual Basic, ça d'ailleurs avec ce langage que je code comme un porc.
En gros, oui. Tu mets une valeur sur le timer utilisateur (6) comme 1. Ensuite, tu fais ton code. A la fin, tu vas attendre que le timer ait expiré, ainsi tu éviteras que l'animation soit plus rapide ou plus lente à certains stades du jeu. J'ai mesuré que tu pouvais faire environ 4'500 fois OSTimerExpired sur HW2 lorsque ta boucle est vide, mais je ne suis pas sûr, d'autant plus que que la vitesse du timer programmable était peut-être changée à ce moment-là. Donc se basant sur ça:
tim=0;
while (!OSTimerExpired (USER_TIMER)) tim++;
on aura tim qui contiendra le temps passé à ne rien faire (4500 == 100
. Ainsi, tu peux facilement savoir l'utilisation du CPU selon cette formule: (100-tim/45). Ca n'est pas plus compliqué. Pour HW1, je n'ai pas de valeur, cependant je crois que c'est 1700 sur VTI...
Je ne peux pas utiliser la focntion OSRegisterTimer car elle doit utiliser l'auto int n°5.
Si je fait ça:
Auto interruption à 75 Hz
DEFINE_INT_HADNLER (myint)
{
time++;
}
void _main (void)
{
...
If (time=75) {
cpu++;
time=0;}
Puis régle de 3 donc '4500 c'est le max' et on affiche.
}
Plus time est grand, (plus interruption est grande) plus le calcul est précis.
Ce que je ne comprend pas dans mon truc c'est que mon interruption iras à 75 Hz est donc ne serat pas variable. Donc le résultat cpu sera constant.?