vendredi 31 mai 2013

Interrogation ? [fr]

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 !
   

5 commentaires:

  1. Y'a une petite erreur:
    le 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.

    RépondreSupprimer
  2. Ah oui zut... Je vais fixer ça !

    Sinon, comment avoir l'écran d'affichage BE alors ??

    RépondreSupprimer
  3. 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.
    Il suffit de choisir une résolution "Voodoo: 1024x768 16bit" par ex. et de tester. :)

    RépondreSupprimer
  4. 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...
    Dans tous le code en tout cas, il y a les rol/swap/rol...

    RépondreSupprimer
  5. Je viens de regarder : il n'y a pas de modes ARGB disponibles...

    RépondreSupprimer

Laissez vos commentaires ici :