Collanews

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierLe journal du lapin

Quand l’iMac s’identifiait comme un « MacNC »

J’ai déjà parlé du Mac NC (pour Network Computer), mais pour résumer, Apple avait prévu pendant un temps de proposer un ordinateur capable de démarrer sur un réseau, une sorte de terminal moderne (pour l’époque, fin des années 90) ou une sorte d’appareil dans le cloud (en 2021). Et l’iMac (le premier) dérive un peu du projet.

Et il y a des traces de ce Mac NC dans l’iMac, en pratique. La principale, vue là ou dans cet article de Jean-Baptiste sur MacG, c’est que l’iMac (et pas mal d’autres, visiblement) s’identifient comme « Apple MacNC » quand ils tentent de démarrer en réseau. C’est dans le code source de bootp mais finalement assez simple à vérifier. J’ai prise un iMac G3, je l’ai relié directement à un Mac moderne et lancé Wireshark. Et quand on essaye de démarrer en Netboot (en pressant n au démarrage), on peut voir un joli Apple MacNC dans le code (il faut filtrer sur le protocole).


Le cas de l’image de démarrage

Dans ces deux posts des années 90 (oui, ça date), on trouve des références à une image de démarrage liée au Mac NC.

which will, curiously, boot up from a server and display a MacNC logo…

&

We haven’t seen it ourselves, but we have heard that holding down a certain key combination while booting up will pull up a screen that says “Welcome to Macintosh NC.” And the iMac can boot from a server running the OS X Server and NetBoot software released earlier this year–just as you’d expect from an NC.

J’ai un peu réfélchi à la question, surtout que j’ai une bonne idée de comment un Mac démarre. De façon simplifiée, avec un Mac NewWorld (iMac et après), il y a peu de choses dans le firmware lui-même, quelques images dans la ROM de démarrage qui est stockée sur le disque, et le reste se trouve dans le dossier System de Mac OS. On peut donc avoir un logo éventuellement dans la ROM ou dans l’OS, mais pas dans le Mac lui-même.

Comme j’ai joué récemment avec Mac OS X Server (celui basé sur Rhapsody), j’ai installé un serveur NetBoot. Il faut installer l’OS puis NetBoot qui – attention – nécessite un disque dur formaté pour Mac OS. Je vous passe les détails sur la mise en place, mais j’ai utilisé l’OS de la BlueBox. Truc très con, j’ai perdu un peu de temps parce que j’ai relié l’iMac G3 et le Power Mac G3 avec un câble droit. Et que les vieux Mac ne croisent pas les câbles. Mais après quelques essais, j’ai démarré l’iMac G3 (le premier) en NetBoot sur mon Mac OS X Server… sans obtenir les messages.

Du coup, je suis tout de même allé vérifier le contenu de l’OS. Pour le NetBoot, il y a deux images disques, une avec l’OS (un Mac OS 8.5) et une avec les applications. Il y a aussi une ROM (logicielle) plus grosse que celle présente habituellement. En passant par un logiciel capable d’extraire les images en vrac, j’ai trouvé des images dans la ROM (il n’y en a pas dans la version classique de Mac OS) et les fonds de chargement de Mac OS. Mais pas de référence au Mac NC. Au passage, récupérer les données sur les disques de Mac OS X Server est une plaie : tout est en UFS dans une vieille version illisible avec les Mac OS X modernes.

Dans la ROM



L’image de démarrage


Les messages possibles




Le disque contient un dossier Mac NC, mais l’image contient des trucs liés à Windows 98

Est-ce que ça implique que les deux articles disent n’importe quoi ? Pas forcément. Le NetBoot est apparu avec l’iMac G3 en août 1998, et Apple l’a présenté en janvier 1999 avec la première version de Mac OS X Server. Ma version de Mac OS X Server (la première) date de mars 1999. Et en fait, il existe a priori une version plus ancienne qui contient (peut-être) un OS adapté. Sauf qu’elle est introuvable. Mac OS X Server 1.0 est Rhapsody 5.3. La version DR2 (Developer Release 2) est Rhapsody 5.1 et date de mai 1998. Elle n’intègre pas NetBoot de ce que j’ai vu et elle est un peu trop vieille pour gérer l’iMac G3. Et entre les deux ? Il y a a priori une version 5.2, Rhapsody Premiere Release, qui contient (peut-être) le nécessaire pour le Mac NC. Mais même sur un site dédié, elle n’a jamais été vue. Mais on peut supposer qu’il y a des versions bêta entre les deux : la présentation de janvier 1999 existe et montre des iMac qui démarrent en NetBoot.

Une reproduction de l’écran de login

Modifier un iMac G3 pour l’utiliser comme écran VGA

A la base, je comptais vraiment adapter un vieil iMac comme écran, mais comme je manque de place pour des écrans cathodiques et que mon seul iMac G3 compatible est un Flower Power, je vais juste vous présenter le projet. Une personne a donc décidé de proposer le nécessaire pour réutiliser un iMac G3 comme écran classique.

Trois choses à dire pour commencer. Premièrement, ça ne fonctionne que sur les iMac G3 avec un lecteur slot-in. Sur les premiers iMac (ceux avec un tiroir), c’est nettement plus simple. Avec eux, il y a une prise DA-15 et il suffit donc du bon adaptateur VGA pour sortir une image sur l’iMac. Deuxièmement, il faut se méfier d’une chose : les ordinateurs récents ne supportent absolument plus le VGA nativement et vous aurez donc besoin d’un adaptateur DisplayPort (ou HDMI) vers VGA. Et dans certains cas, vous n’aurez pas nécessairement accès à tous les réglages. Enfin, attention : il y a un écran cathodique dans un iMac, donc c’est dangereux. Dans l’absolu, le projet ne s’approche pas vraiment de l’écran lui-même, mais méfiez-vous.

Carl Berkeley (CC BY-SA 2.0)

Le montage est assez bien expliqué sur la page du projet, et se compose de trois parties. La première carte, J20, sert à plusieurs choses. Premièrement, elle câble l’écran lui-même, en VGA. Deuxièmement, elle envoie les informations nécessaires à l’ordinateur en face pour qu’il puisse détecter les définitions possibles (EDID). Enfin, elle gère l’allumage de l’iMac avec son bouton d’origine. La seconde, J22, gère l’audio de l’iMac (et son microphone) ainsi que les LED. Car oui, le montage permet d’utiliser les haut-parleurs de l’iMac directement. Et la dernière permet de gérer l’alimentation de l’iMac. A l’origine, la carte mère (qu’on enlève avec ce projet) est en effet reliée à un second PCB qui gère l’alimentation. La troisième carte prend sa place.

Le montage

Toutes les données nécessaires pour la création des cartes sont disponibles sur le site, et ça ne semble pas hors de portée de quelqu’un qui sait souder. La partie compliquée peut éventuellement être celle de la programmation de la puce qui va gérer l’EDID (il faut un Arduino). Une fois les cartes montées, il y a quelques fils nécessaires pour relier les cartes, mais rien de compliqué avec les supports utilisés.



La solution alternative

La solution alternative, moins propre dans ce cas, va être de relier directement la prise interne du Mac à une prise VGA adaptée en cannibalisant un câble VGA. Ensuite, pour gérer l’affichage, ça va dépendre de ce que vous voulez faire. Il est ensuite possible de programmer un Arduino pour qu’il génère les signaux nécessaires et de l’intercaler entre la prise et l’ordinateur, ou de brancher directement l’iMac sur un Raspberry Pi. Dans ce cas, le Raspberry Pi lui-même peut gérer les signaux, en utilisant les GPIO. Les explications sont sur le site du projet aussi.

Dans tous les cas, le projet est intéressant, et les iMac G3 offrent une qualité d’image correcte compte tenu de la taille. Pour rappel, il s’agit d’un écran cathodique de 15 pouces capable d’afficher du 1 024 x 768 à 75 Hz, du 800 x 600 à 95 Hz et du 640 x 480 à 117 Hz. Attention du coup, comme dit plus haut, tous les adaptateurs VGA n’acceptent pas nécessairement ça et vous ne pourrez probablement pas brancher n’importe quel appareil. Les vieux Mac (par exemple) n’envoient que du 640 x 480 à 67 Hz et d’autres définitions exotiques.

Une 3dfx Voodoo 2 dans un iMac G3

Cet article, c’est probablement celui qui attendait depuis le plus longtemps dans la liste des trucs à faire. J’ai (enfin) pu trouver une Voodoo 2 pour iMac, la Game Wizard. Une 3dfx ? Dans un iMac ? Oui.

Le brouillon datait de 2015

Un peu de contexte. La Voodoo 2 est la seconde génération de cartes 3dfx pour les PC, et les cartes fonctionnaient (aussi) sur Mac. Pour faire simple, les cartes 3dfx (Voodoo Graphics et Voodoo 2) gèrent la 3D sans l’aide de l’ordinateur : elles n’ont pas de BIOS et prennent la main sur l’affichage. Les premières cartes pour Mac sont même simplement des cartes PC avec des pilotes pour Mac OS. Avec la Voodoo 2 (essentiellement une version plus rapide des Voodoo Graphics), une société propose tout de même une version pour Mac, avec une sortie adaptée, la Game Wizard. J’en ai une, mais elle ne fonctionne pas (un jour, je vais la réparer). Et donc la société à l’origine de cette carte (Micro Conversion) a proposé une carte pour l’iMac G3, le premier. Comment ? En utilisant le connecteur interne, le mezzanine. Il s’agit d’une prise présente physiquement dans les premiers iMac (rev. A et B) qui est essentiellement un connecteur PCI sous une autre forme. Si vous lisez le blog depuis longtemps, vous avez peut-être déjà vu d’autres cartes : j’ai une carte SCSI et une carte TV (qui fait aussi SCSI).

La boîte


La carte

La Voodoo 2 de de Micro Conversions, donc, est un modèle 8 Mo (vu l’architecture de 3dfx, c’est plus exactement du 4 + 2 + 2 Mo) qui s’interface en mezzanine. Comme toutes les 3dfx de l’époque, elle récupère le signal vidéo issu de la carte graphique et s’intercale entre l’écran et la carte d’origine. Dans l’iMac, c’est possible car l’écran de l’iMac est branché en VGA (enfin, en DA15 plus exactement). Un câble interne est relié à la sortie vidéo de la carte mère et la carte 3dfx est reliée à l’écran. Techniquement, il faut un iMac G3 avec un CPU à 233 MHz (révision A ou B), qui possède le port mezzanine. A l’époque, Micro Conversions proposait de modifier certains modèles d’iMac pour installer la carte : les versions colorées (rev. C) à 333 MHz ont les traces du connecteur mais pas le connecteur lui-même. La société installait aussi d’ailleurs un port ADB : les traces sont présentes sur la carte mère, mais la prise n’est pas installée. Ils auraient même pu mettre un lecteur de disquettes… Mon iMac est une révision A (en ATi Rage IIc) mais avec un CPU à 500 MHz, ce qui aide pas mal dans les jeux.


Le connecteur mezzanine


Un peu d’infos

L’installation

L’installation est assez simple quand on a déjà démonté un iMac, mais ça demande un peu de temps. Il faut ouvrir une bonne partie de la machine, retourner la carte mère et installer la carte. La petite nappe va de la carte mère à la carte 3dfx, ensuite la sortie vidéo est branchée sur la 3dfx. Rien de vraiment compliqué et le manuel de l’époque est complet (quand il affiche les images…, ce qui n’est pas le cas sur mon Mac moderne). Une fois que c’est fait, il suffit d’installer les pilotes. Dans l’absolu, on peut utiliser les pilotes générique pour Mac OS, mais on doit grader certains fichiers spécifiques à la Game Wizard. Ce vieux sujet sur les forums de MacGénération explique bien ça (il a plus de 20 ans, et on apprend que la carte valait 130 $ en 2000). La solution la plus simple est celle de ce site, qui propose le nécessaire en téléchargement. Si le sujet vous intéresse, il y a une (longue) vidéo sur YouTube sur l’installation de la carte.

Le câble “VGA”


La carte dans l’iMac


Le câble “VGA”

Et ça donne quoi ? Alors, déjà, ça fonctionne. Il y a quelques limites, notamment sur la définition : le fonctionnement même de l’iMac implique qu’il ne faut pas dépasser le 640 x 480 en 3D (800 x 600 dans certains cas). Ensuite, il faut trouver des jeux qui utilisent les 3dfx, et ce n’est pas si courant sur Mac. J’ai essayé Myth (The Fallen Lord), Tomb Raider (le premier et le 2), Unreal, Quake (le premier et le II) et Star Wars Pod Racer. la compatibilité est un peu limitée (je n’ai pas réussi à faire fonctionner les Quake) mais dans l’ensemble ça fonctionne. Il faut surtout penser à bien utiliser les bonnes extensions et c’est vite bloquant. Il y a aussi quelques jeux qui fonctionnent mal en Rave (l’API d’Apple) parce qu’ils combinent 2D et 3D et que les Voodoo ne font que la 3D. C’est le cas de Nanosaur, que je n’ai même pas essayé. Questions performances, les jeux n’ont pas de benchmark mais c’est une Voodoo 2 avec un G3 à 500 MHz, donc c’est fluide pour l’époque (cf. ce test de Barefeats). Il y a aussi un souci de luminosité, avec des jeux trop sombres, mais il suffit de placer un fichier texte contenant les bonnes valeurs dans un dossier pour régler ça (c’est un souci de gamma, classique avec les 3dfx, même sur PC). J’ai même tenté Quake III qui tourne assez bien compte tenu de la plateforme : pratiquement 30 fps en 640 x 480 si on ne force pas les détails sur les textures (si on passe au maximum, on descend vers 5 fps, les 8 Mo de la carte limitent dans ce cas précis).

Myth (en jeu)


Myth reconnaît la carte (avant de passer dessus)


Mac OS 8.5 ne la voit pas


Tomb Raider voit la carte


Unreal aussi

Enfin, j’ai voulu capturer des images, mais impossible : ma carte d’acquisition ne détecte plus le signal quand l’image passe de la sortie de l’iMac à la carte 3dfx, probablement à cause du changement de définition/fréquence de rafraichissement. j’ai donc filmé un peu l’écran pour montrer le résultat.

Pour conclure, je suis content d’avoir cette carte, et je pense qu’à l’époque, c’était vraiment intéressant pour ceux qui jouaient sur Mac.

❌