VirtualPC et les cartes 3dfx

Après avoir installé une carte 3dfx Voodoo dans un Mac, je suis tombé sur un truc intéressant : les vieilles versions de Virtual PC prennent en charge les cartes 3dfx.
3dfxlogo

Virtual PC de chez Connectix, la boîte qui a commis une des premières webcam et un émulateur PlayStation pour Mac, proposait dans ses premières versions (la 2.x et la 3.x) une fonction étonnante et efficace : le support des cartes 3dfx.

Virtual PC émulait donc un processeur x86 mais pouvait « virtualiser » une carte 3dfx, en donnant un accès presque direct à une carte présente physiquement dans le Mac. C’était plutôt efficace dans les jeux : la 3D devenait accessible dans un émulateur, comme sur un vrai PC.

J’ai testé avec Virtual PC 3.0, sous Windows 98. La carte est reconnue directement par Windows et il suffit ensuite d’installer les pilotes (et de fournir le CD de Windows). Techniquement, pas de soucis : ça marche dans la majorité des cas (je n’ai pas réussi à lancer GTA). Le seul défaut vient du fait que Virtual PC reste un émulateur : le processeur est donc assez lent.

Windows reconnaît la Voodoo

Windows reconnaît la Voodoo

Sur ma machine, un G3 300 MHz, les jeux un peu lourds sont donc lents à cause du CPU. N’espérez pas faire du Quake 2 ou 3, mais un Tomb Raider (encore) passe très bien, il est aussi fluide qu’en natif sur le Mac. Globalement, les jeux qui demandent comme processeur recommandé un Pentium 166 ou moins devraient fonctionner correctement, mais pas au-delà.

Le support des cartes 3dfx (ça fonctionne avec les Voodoo 1 et Voodoo 2) a été supprimé dans la version 4 de Virtual PC, pour des raisons techniques intéressantes. Les Power PC travaillent en big endian et les x86 en little endian (ça définit l’ordre des bits en mémoire) et dans les premières versions de Virtual PC, l’émulateur effectuait la conversion. Dans la version 4, Connectix utilise une fonction des PowerPC qui permet de travailler directement en little endian, mais qui ne fonctionne correctement que sur les G3 et G4 (les PowerPC précédents étaient très lents dans ce mode). Ce passage en pseudo little endian pose du coup des soucis aux cartes 3dfx, la mémoire (gérée par Mac OS) n’étant pas dans le même mode que l’émulation. A l’époque, Connectix justifiait la suppression du support des 3dfx par un usage très rare pour le jeu (ce qui semble logique). Ironiquement, ce passage en mode little endian a d’ailleurs aussi empêché Virtual PC de fonctionner sur les G5 quelques années plus tard : les CPU d’IBM n’implémentaient pas de mode little endian.

Une petite vidéo, avec Tomb Raider en version 3dfx (on voit bien le logo).

Prochaine étape… la Voodoo 2.