Avec l'utilitaire bien connu SnoopDos, il est possible de savoir quelles
librairies sont chargées par tels ou tels programmes, ce qui est bien
pratique. Ici, nous pouvons voir que les deux versions LE et BE de la
W3D_Avenger.library sont ouvertes par la Warp3D.library :
Les lettres LE et BE signifient Little Endian et Big Endian.
Ce sont tout simplement des ordres de lecture. Par exemple, le nombre
hexadécimal $12345678 est Big Endian (le même que le sens de lecture de
la langue française ou anglaise), alors qu'en Little Endian, c'est
$78563412.
Les
PPC et les 68k sont Big Endian, alors que les x86 sont Little Endian, ainsi que
les 3dfx par défaut. Il y a donc une conversion BE => LE nécessaire pour nos
68040/060 qui prends hélas un peu de temps processeur, puisqu'il faut
utiliser trois instructions (rol.w/swap/rol.w) à chaque fois. Les drivers 3dfx utilisent environ 4440 fois ces trois instructions de conversion.
Toujours
avec l'utilitaire LibraryTimer, je m'aperçois qu'aucune fonction de la
W3D_AvengerBEMU.library n'est appelée avec Quake 2 !
A
quoi sert cette librairie alors ? Merci de répondre dans les
commentaires ci-dessous si vous avez la réponse, ou même un idée qui
pourrait m'aider à comprendre !
Y'a une petite erreur:
RépondreSupprimerle nombre $12345678 en little endian est $78563412.
La W3D_AvengerBEMU.library devrait être utilisée quand l'écran d'affichage de la carte gfx est en mode big endian.
Ah oui zut... Je vais fixer ça !
RépondreSupprimerSinon, comment avoir l'écran d'affichage BE alors ??
Dans le programme ScreenMode du WB, avec une Voodoo, les écrans d'affichage en big endian sont: 15-bit (voodoo4/5), 16-bit, 32-bit ARGB.
RépondreSupprimerIl suffit de choisir une résolution "Voodoo: 1024x768 16bit" par ex. et de tester. :)
Hum, j'ai comparé les LEMU/BEMU et LE/BE : il n'y a que quelques différences entres elles... Y'a que quelques inits qui diffèrent...
RépondreSupprimerDans tous le code en tout cas, il y a les rol/swap/rol...
Je viens de regarder : il n'y a pas de modes ARGB disponibles...
RépondreSupprimer