(re)Flasher une Radeon Sun XVR100

Il y a quelques années, j’expliquais comment j’avais flashé une Radeon 7000 d’origine Sun (une XVR-100) pour l’installer dans un Mac.

Là, je viens de faire le contraire. En fait, je voulais remettre ma station Sun en état, mais les XVR-100 sont de plus en plus onéreuses, et j’ai trouvé une Radeon 7000 pour Mac (une vraie, pas une flashée) pour un prix correct. Du coup, j’ai mis la carte Apple dans un Mac et la carte Sun dans une machine Sun. Pour rappel, tout de même : les cartes Apple et Sun demandent une ROM qui fait physiquement 128 ko, quand la majorité des cartes PC contient une puce de 64 ko. Donc on peut passer sans trop de soucis d’une carte Apple à une Sun en flashant, mais avec une carte de PC, c’est plus compliqué.

Les deux cartes, plutôt proches (la Mac a une sortie TV)


La ROM de 128 ko


La carte Apple


La carte Sun

Le changement de carte n’a pas posé spécialement de problèmes : elles sont pratiquement identiques. J’ai eu une erreur au démarrage sur le Mac et j’ai perdu la définition que j’utilisais, mais rien de vraiment bloquant. Les deux différences (physique) entre les deux cartes viennent de la présence d’une sortie TV sur la version Mac, en plus des connecteurs VGA et DVI, et d’une quanité de mémoire un peu plus faible (32 Mo contre 64 Mo). Mais dans une machine de la fin des années nonante, ce n’est vraiment pas quelque chose de gênant. Elle n’avais pas la dernière ROM Apple (la 208) mais c’est assez facile de mettre à jour, donc rien d’embêtant.

(re)flasher la carte Sun

Pour le (re)flash, le plus simple est une machine sous DOS, équipée d’une carte graphique principale qui n’est pas une ATi. Techniquement, on peut le faire, mais c’est une sécurité pour ne pas flasher la mauvaise carte. Là, j’ai dû bidouiller un peu dans le setup du BIOS, notamment pour mettre la carte AGP – celle que je ne vais pas flasher – en premier dans la liste. Le but est de démarrer sur une carte qui n’est évidemment pas la Radeon à flasher. Je vous mets les fichiers là.

Avec la première carte, j’ai eu une erreur, avec une seconde, ça a fonctionné. Il faut donc démarrer en mode DOS, taper flashrom -i pour vérifier que la carte est détectée, et bien noter son ID.

Ensuite, par précaution, sauver la ROM Apple : flashrom -s X apple.rom (X est l’ID).

Enfin, placer la ROM Sun : flashrom -f -pm X xvr.rom Ca devrait aller vite et indiquer que 128 ko ont été flashé.

Utiliser la carte dans une station Sun

La partie la plus compliquée : ma station Sun. J’ai utilisé la machine pour tester MAE (et MAE 3.0) mais elle a un petit souci : sa pile est vide. Et chez Sun, ce n’est pas comme dans les PC (une pile bouton), c’est un composant qui contient la mémoire NVRAM (en gros les paramètres de démarrage) et la pile, un peu comme les Dallas de certains vieux PC. Comme la batterie interne est vide, il faut la remplacer. La valeur sur le sticker est l’adresse MAC de l’Ethernet (les trois premières valeurs ne changent jamais) et la puce elle-même est une ST M48T59Y-70PC1. J’en ai commandé une que je programmerais (quelques lignes de commande), ça se trouve assez facilement.

La puce


Le modèle exact

Du coup, la machine démarre uniquement sur la console et sans puce NVRAM valable, la série de lignes à taper est longue.

Quelques erreurs au démarrage

Pour vérifier si la Radon est reconnue, quelques lignes à taper. C’est de l’Open Firmware, donc si vous utilisez de vieux Mac, vous reconnaîtrez peut-être.

show-displays

Il va liste les deux cartes (l’intégrée et la Radeon). Une fois la carte sélectionnée, il faut taper la ligne suivante suivie d’un control + Y (le control est placé au milieu sur le clavier Sun)

nvalias mydev

Enfin, trois lignes qui permettent de déplacer la console sur la carte Radeon et sa sortie DVI. Attention, il faut la dernière ROM (flashée ici) pour que ça fonctionne, sinon vous n’aurez que le VGA.

setenv output-device mydev
setenv use-nvramrc? true
reset-all

Le résultat est un peu bizarre, mais visiblement ma carte n’aime pas la définition en sortie.

Comme la carte semble fonctionner, je m’arrête là pour cette fois, en attendant une puce NVRAM de remplacement.