Obligement - L'Amiga au maximum

Vendredi 23 mai 2025 - 16:37  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : Conseils sur l'installation de la TF1260
(Article écrit par Didier Malenfant et extrait de didier.malenfant.net - octobre 2024)


Note : article sous licence CC BY-SA 4.0.

Ce texte a commencé en tant que partie de mon tutoriel sur l'installation du Workbench, mais j'ai décidé de le scinder en deux parce que beaucoup d'informations sont devenues très spécifiques à la carte accélératrice TF1260 et pas seulement au système d'exploitation.

Voici ma tentative de rassembler toutes les informations que j'ai trouvées en un seul endroit. Cet article va évoluer au fil du temps, au fur et à mesure que j'en apprendrai plus ou que je corrigerai des erreurs. Je conserverai une liste des modifications en bas de page.

MMULibs

Lorsque j'ai démarré mon A1200 avec le Workbench 3.2, je suis tombé sur l'une des toutes premières lignes de la startup-sequence :

FailAt 31
CPU CHECKINSTALL

Cela permet de vérifier que si votre processeur n'est pas géré par le Workbench de base, il vous est demandé d'installer les bibliothèques de gestion processeur avant d'aller plus loin.

C'est là que les choses se compliquent. Il s'avère qu'il y a beaucoup de versions des bibliothèques à utiliser pour les 68020, 68030, 68040 et 68060.
  • La disquette "Install3.2" est livrée avec un ensemble de bibliothèques qui peuvent être installées en réexécutant le script d'installation principal.
  • Aminet a MMULib mais aussi Mu680x0Libs.
  • TF1260.com a sa propre MMULib.
  • Ma TF1260 a été livrée avec une disquette de pilotes qui inclut également un programme d'installation pour installer sa propre version des bibliothèques.
Mes hypothèses sont les suivantes :
  • Il n'y a pas de MMU personnalisée ou de bibliothèque 68060 pour la TF1260. Puisqu'elle reprend le 68020 au niveau matériel, il n'y a pas de "pilote" à proprement parler. Le 68060 est là et la MMU est utilisable par n'importe quelle bibliothèque MMU existante.
  • Toutes ces bibliothèques différentes sur Aminet et livrées avec la TF1260 ne sont que des versions différentes de la même chose. J'avais juste besoin d'utiliser la plus récente.
En jetant un coup d'oeil rapide à la commande "Version" pour 68060.library, j'ai vu qu'au moment où j'écris ces lignes :
  • La dernière archive MMULib d'Aminet contient la version 47.2 (l'autre, nommée Mu680x0Libs, contient également cette version).
  • L'installateur du Workbench 3.2 contient la version 46.4.
  • L'archive liée au site web de la TF1260 contient la version 46.4.
  • La disquette d'installation fournie avec la TF1260 contient la version 40.2.
J'ai donc décidé d'installer la dernière version de la MMULib d'Aminet. Après avoir inséré ma disquette LHA_CF_FAT, j'ai pris une copie de Lha en RAM :

cd RAM:
DF0:lha.run

J'ai ensuite inséré une disquette que j'avais faite avec les MMULibs et je les ai extraits :

lha_68k e df0:MMULibs.lha

J'ai ensuite pu aller dans le dossier "Install" des MMULibs extraits dans la RAM et commencer à les installer. Pendant l'installation, quelques étapes ont essayé d'augmenter la taille de la pile utilisée par les programmes existants (mfm.device et IPrefs) mais ont échoué parce que les versions que j'avais ne correspondaient pas à celles qu'ils attendaient.

Optimisations du système

MMULibs est livré avec quelques outils qui peuvent accélérer le système d'exploitation :
  • MuFastROM utilise la bibliothèque mmu.library pour créer un miroir de la ROM Kickstart en mémoire afin d'accélérer l'accès à la ROM.
  • MuFastZero réaffecte la page zéro de la mémoire, qui contient habituellement les vecteurs automatiques pour les interruptions, de la mémoire Chip à la mémoire Fast.
  • MuProtectModules est une extension et un outil d'aide pour le programme "LoadModules" du même auteur. Alors que LoadModules utilise des modules résidents du système, par exemple des bibliothèques, et les installe à l'état réinitialisé, MuProtectModules a pour tâche de protéger ces modules en écriture.
  • FastIEEE remplace les fonctions de la bibliothèque mathématique, c'est-à-dire les entrées des bibliothèques mathieeesing/doub/bas/trans.libraries, par des routines plus adaptées à un processeur 68040 ou 68060. Les versions 45.xx des bibliothèques mathématiques livrées avec AmigaOS 3.9 intègrent la gestion FastIEEE et ne nécessitent donc plus ce correctif.
  • MuFastChip : (explication à ajouter).
  • MuForce : (explication à ajouter).
  • MuMove4k : (explication à ajouter).
L'installation de MMULibs lancera beaucoup de ces outils au démarrage et j'ai essayé d'en laisser le plus possible activés. Mais certains ont causé des problèmes au redémarrage :
  • MuFastZero a été commenté (avec ";") pendant l'installation. Je l'ai décommenté par la suite mais cela a produit une erreur après la mise à jour vers AmigaOS 3.2.2.1. Je l'ai commenté pour l'instant. MuProtectModules provoque une erreur au démarrage car il n'y a pas de modules à protéger. Je l'ai commenté pour l'instant.
  • FastIEEE provoque une erreur au démarrage, probablement parce que la bibliothèque installée est plus récente que celle attendue. Je l'ai commenté pour l'instant.
J'ai redémarré une dernière fois et me suis assuré que tout semblait fonctionner correctement.

SetPatch et bibliothèques factices ("dummy")

Certaines informations disponibles mentionnent l'installation d'une version plus récente de la commande SetPatch et l'installation d'une bibliothèque de processeur factice pour tout rediriger vers la bibliothèque 68060.library à la place.

Si j'ai bien compris, puisque j'utilise AmigaOS 3.2, je n'ai pas besoin de corriger SetPatch, puisque le SetPatch d'AmigaOS 3.2 charge automatiquement la bonne bibliothèque de processeur. Je n'ai qu'à placer la bibliothèque de processeur que j'ai l'intention d'utiliser et la bibliothèque MMU dans LIBS: et le fichier de configuration MMU dans ENVARC:, c'est à peu près tout.

En particulier, pour un processeur 68060, les bibliothèques 68060.library et mmu.library suffisent. C'est ce que l'installateur semble avoir fait dans mon cas.

Interface IDE

J'ai prévu d'utiliser l'interface IDE intégrée de la TF1260 pour mon disque dur. Celle-ci nécessite un périphérique ehide.device spécifique pour être accessible.

Dans mon cas, j'avais un ensemble personnalisé de ROM Kickstart fourni avec la TF1260 qui contenait déjà le périphérique, ce qui signifie que je peux aussi démarrer à partir du disque dur sans problème.

Lorsque j'ai utilisé HDToolBox, j'ai dû spécifier le périphérique utilisé pour qu'il trouve le disque dur. Sur la ligne de commande, cela ressemble à ceci :

HDToolBox ehide.device

Mais cela peut également être défini dans le panneau d'information de l'icône HDToolBox de mon Workbench en ajoutant une ligne qui spécifie :

SCSI_DEVICE_NAME=ehide.device

Si je n'avais pas eu le Kickstart personnalisé, j'aurais également pu copier le fichier de périphérique dans DEVS: et l'ajouter à ma startup-sequence :

loadmodule >NIL: devs:ehide.device

...bien que cela me permette de démarrer sur le disque dur.

La bonne nouvelle, c'est qu'en utilisant ShowConfig, j'ai pu confirmer que la version de ehide.device intégrée dans ma ROM Kickstart était en fait la dernière disponible au moment où j'ai écrit ces lignes :

Installation de la TF1260

Versions du micrologiciel

Il semble qu'il y ait différentes versions du micrologiciel disponibles (un numéro de version en dessous de 1000, un à 1000 et les derniers au-dessus de 1000). Les derniers micrologiciels sont disponibles sur le GitHub de TerribleFire. Au moment où j'écris ces lignes, le dernier micrologiciel pour la TF1260 est daté du 2023/05/19 et porte le numéro de série "68090".

La question était donc : quel est le micrologiciel de ma carte ? Pour le savoir, j'ai téléchargé les trois jeux d'archives TFTools et j'ai essayé de lancer la commande "cpuspeed" à partir de chacun d'entre eux. Les deux premières versions ont fonctionné correctement et ont identifié mon micrologiciel comme étant "Serial: 1000" alors que la commande "cpuspeed" du dernier jeu d'outils a donné une erreur avec le message :

TF360/TF1260 Card firmware is out of date. You must upgrade.

Traduction : le micrologiciel de la carte TF360/TF1260 est obsolète. Vous devez le mettre à jour.

Je n'avais pas d'autre choix que de passer à la vitesse supérieure...

Mise à jour du micrologiciel

J'ai acheté un Raspberry Pi et un programmateur JTAG avec le câble Pogo Pin. J'ai utilisé Raspberry Pi Imager pour installer le système d'exploitation sur une carte microSD et j'ai démarré le Pi.

J'ai configuré SSH sur le Pi pour pouvoir m'y connecter à distance depuis mon Macbook et j'ai installé certaines des dépendances nécessaires :

sudo apt update
sudo apt -y dist-upgrade
sudo apt install build-essential libusb-dev libftdi-dev libgpiod-dev git cmake

Le programme que j'ai utilisé, xc3sprog, est basé sur des "câbles" qui représentent différentes interfaces dans la puce à programmer. Un type de câble utilisé dans le manuel du programmateur JTAG n'a pas fonctionné pour moi, j'ai donc essayé un autre type de câble appelé WiringPi qui était recommandé par un autre guide pas à pas. Malheureusement, le paquetage ne semble plus être disponible dans apt-get sur piOS, j'ai donc dû le compiler à partir des sources :

cd ~/Documents
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
./build debian
mv debian-template/wiringpi-3.10.deb .
sudo apt install ./wiringpi-3.10.deb

A partir de là, j'ai pu construire xc3sprog, également à partir des sources :

cd ~/Documents
git clone https://github.com/matrix-io/xc3sprog
mkdir xc3sprog/build
cd xc3sprog/build
cmake ..
make

J'avais prévu d'utiliser l'alimentation de l'Amiga pour alimenter les puces pendant la mise à jour, j'ai donc complètement enlevé le cavalier sur la carte du programmateur JTAG (celui utilisé pour choisir entre 3,3 V et 5 V).

Lors de la programmation de la TF1260, le programmateur JTAG et le port JTAG de la TF1260 ont six broches de chaque côté qui doivent être connectées ensemble en utilisant le câble Pogo. Ces broches sont VCC (3v3 du côté de la TF1260), GND, TCK, TD0, TD1 et THS. Afin d'être sûr d'avoir connecté les deux côtés de la bonne manière, j'ai utilisé un marqueur permanent pour marquer un fil de chaque côté. J'ai ensuite pu utiliser ce marqueur visuel pour m'assurer que ce fil était bien VCC de chaque côté.

J'ai ensuite pu pousser les broches Pogo sur la TF1260, avec l'Amiga allumé, et sonder la chaîne JTAG pour répertorier tout ce qui s'y trouve :

./xc3sprog -c matrix_creator -j

Le résultat a été les deux CPLD comme prévu :

XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 774 $ OS: Linux
Free software: If you contribute nothing, expect nothing!
Feedback on success/failure/enhancement requests:
        http://sourceforge.net/mail/?group_id=170565
Check Sourceforge for updates:
        http://sourceforge.net/projects/xc3sprog/develop

JTAG loc.:   0  IDCODE: 0x59616093  Desc:  XC95288XL Rev: E  IR length:  8
JTAG loc.:   1  IDCODE: 0x59616093  Desc:  XC95288XL Rev: E  IR length:  8

Le CPLD situé à l'emplacement JTAG 0 est le CPLD RAM. Celui qui se trouve à l'emplacement JTAG 1 est le CPLD BUS.

Par sécurité, j'ai sauvegardé les deux CPLD dans des fichiers locaux :

./xc3sprog -c matrix_creator -v -p 0 old_ram_top.jed:r
./xc3sprog -c matrix_creator -v -p 1 old_bus_top.jed:r

J'étais maintenant prêt à installer le micrologiciel. J'ai décompressé le fichier du micrologiciel et transféré les deux fichiers "ram_top" et "bus_top .jed" sur le Raspberry Pi. Ma TF1260 n'a pas les CPLD 6ns donc j'ai utilisé le fichier ram_top normal :

./xc3sprog -c matrix_creator -v -p 0 tf1260r1_ram_top.jed
./xc3sprog -c matrix_creator -v -p 1 tf1260r1_bus_top.jed

Les deux commandes se sont exécutées avec succès et j'ai redémarré l'Amiga pour réessayer "cpuspeed" :

Installation de la TF1260

Le numéro de série de mon micrologiciel était maintenant correct, avec le numéro de série 68090.

Tests de vitesse

Il était temps de voir ce dont la carte était capable. J'ai d'abord effectué un test de vitesse dans SysInfo avec la TF1260 fonctionnant à sa vitesse standard de 50 MHz :

Installation de la TF1260

Pas mal, mais ensuite, bien sûr, je n'ai pas pu résister à l'envie d'augmenter la vitesse à 100 MHz en tapant :

cpuspeed speed=100

Ce qui a donné ce résultat extraordinaire après avoir refait le test dans SysInfo :

Installation de la TF1260

Je n'ai pas de refroidissement actif ou passif sur le 68060 donc je m'en tiendrai au bon vieux 50 MHz pour l'usage quotidien.

Liste des changements de cet article
  • 18 octobre 2024 : première version.
  • 21 octobre 2024 : ajout de l'information sur la mise à jour du micrologiciel.


[Retour en haut] / [Retour aux articles]