Pollux :
Je te remercie et je t'autorise à relire mon message
Bon, je réexplique : si on prend n=64 au lieu de n=56, on perd log2(64/56)=0.2 bits d'entropie. Et on a 32 bits, donc ça va vraiment pas être la mort de perdre 0.2 bits 
Personnellement, je trouve qu'une perte de qualité est une perte de qualité, donc je n'en veux pas. Et je veux une distribution uniforme, ce que ce que tu proposes n'est pas.
Cela dit, il y a une erreur dans le code dont je me suis rendue compte bien après l'avoir codée: la valeur du port peut aussi valoir 0 (il passe d'abord à 0, puis au prochain tick seulement à la valeur initiale). Donc pour une distribution vraiment uniforme, il faut mettre:
unsigned long randnum=255-(unsigned char)(peekIO(0x600017)-1);
if (!AMS_1xx || *(unsigned short *)0x32==(('R'<<8)+'O'))
randnum+=(*((volatile unsigned long*)(_rom_call_addr(4FC))))*((HW_VERSION == 2)?53:79);
srand(randnum);
Je vais corriger ça dans
Backgammon, et le
randomize que je vais mettre dans TIGCCLIB en remplacement de la blague qu'il y a actuellement ressemblera beaucoup à cela.