mercredi 30 mai 2018

[AMIGA] Configuration d'un Amiga 1200 avec Blizzard 68060 et Subway USB


Ou comment revenir quelques années en arrière !


Ce billet sera le pendant actualisé de cet autre billet intitulé "Montage de ma petite config' A1200... il y a dix ans !" mais avec des moyens presque modernes. Vous verrez qu'au final, la galère est toujours la même (ou bien, vous verrez que je n'ai pas été assez précautionneux et que j'aurais pu m'éviter bien des galères... et je suis bien d'accord avec vous).



J'ai eu la chance de pouvoir récupérer une carte Blizzard 68040 ainsi qu'un processeur 68060 rev 6 (un vrai, complet et tenant l'overclock). J'ai surtout eu la chance d'avoir Cosmos qui a pu me monter ce 060 sur la carte en lieu et place du 040 ! Je vous invite d'ailleurs à lire son billet de blog, très détaillé sur son blog expliquant cette transformation : Blizzard 1240 => 1260.

J'avais aussi fait des roms 3.9 incluant plein de bonnes choses comme les bibliothèques 060, KingCON: et tout le tuttim, mais voilà, j'avais des résultats relativement aléatoires, me donnant l'impression que ma 1260 n'était pas activée tout le temps. J'ai voulu en avoir le coeur net en repartant sur une rom 3.1 et en me refaisant un petit système de zéro... 


"Et là, c'est le drame".

En effet, le disque dur du 1200 a été complètement perdu suite à mes modifications apportées à de ce dernier via HDConfig de MorphOS ! Je rappelle à tout un chacun qu'il convient de faire une sauvegarde de son disque avant de faire des manipulations sauvages dessus... et qu'il faut aussi éviter de mixer les logiciels utilisés pour gérer le HD (utilisez TOUJOURS le même logiciel, ne faites pas comme moi). Du coup, HD vide et donc 1200 sans vie ou presque... Et allez réinstaller un système de zéro avec PFS3, bibliothèques 68060, gestion du PCMCIA, gestion de la Subway, etc. sans avoir prévu votre coup dès le départ... Vous allez voir que c'est sympa !...


Point de départ

Pour pouvoir bien faire, il me fallait préalablement réinstaller mon HD et pour ça, il fallait que je puisse booter sur une disquette avec PFS3 et tous les outils qui vont bien... Sauf que je n'avais bien évidemment pas ça sous le coude. Et comment recréer tout seul une disquette quand on ne peut pas faire de transfert de fichiers sur le 1200 justement ?

Avant, j'utilisais ma Subway et je faisais le transfert crânement avec une clef USB, mais là je n'avais plus accès à la Subway puisque je n'avais plus Poseidon et Trident d'installés (respectivement la pile USB et le logiciel qui pilote le tout). En fait, je n'avais plus rien... J'aurais pu réinstaller un 3.1 via mes disquettes mais la problématique du transfert de données aurait continué de se poser... J'avais besoin d'avoir au moins un 3.1 avec le pilote pour mettre une carte compact flash sur le port PCMCIA (accompagné également du système de fichier Fat95 pour pouvoir lire ladite CF). Mais comme j'avais récupéré un lecteur CF PCMCIA sans passer par un revendeur ou autre, je n'avais pas la disquette d'installation non plus.

Heureusement, mon bonheur est venu d'un petit week-end entre potes, et pas n'importe quels potes, entre potes amigaïstes. Outre des repas gastronomiques de folie, j'ai pu profiter de ce week-end et de l'Amiga 1200 du pote, Amiga équipé lui aussi d'un 68060 d'ailleurs, pour repartir du bon pied. Et la solution n'était finalement pas si compliquée, longue mais pas compliquée.

 
Son 1260 ayant un DOM (un "Disk On Module", une sorte de mini SSD qui se connecte directement sur le port IDE 2"1/2, avec son modèle en tout cas) avec un système fonctionnel installé dessus, j'allais pouvoir l'utiliser. Il avait également un lecteur de compact flash en PCMCIA et surtout la disquette correspondante de chez AmigaKit, issue du kit Easy ADF (qui, pour information, coûte moins de 15 EUR sans carte, et coûte moins de 35 EUR avec une carte compact flash de 4 Go). Cette disquette contenait, ce qui m'intéressait au plus haut point, ADAPCMCFL. J'ai donc copié tout bêtement son système sur une partition de ma carte compact flash, que j'avais négligemment insérée dans le lecteur de carte compact flash PCMCIA de son 1200. Et pour la blague, j'avais préalablement partitionné ma compact flash via HDConfig MorphOS, oui oui, je persiste et signe, vous pouvez le dire. Une fois ceci fait, j'ai enfin booté mon Amiga sur ma carte mais avec son système, toutefois celui-ci était plantogène. Alors que je pensais qu'il avait une carte Apollo 1260 et moi une Blizzard 1260 et je mettais ces plantages sur le compte des bibliothèques différentes, il s'avère que non, il a bel et bien une Blizzard aussi... Etrange... J'ai donc décidé de reprendre mon 3.9 de base qui traînait sur le disque de mon Mac Mini MorphOS (pour E-UAE) afin de booter dessus. Une fois ceci fait, j'ai profité des disquettes toutes prêtes à l'emploi du poto pour installer Easy ADF. J'ai du coup joué au grille pain avec cette disquette et la disquette Workbench 3.1 et j'ai installé tout cela sur la partition FFS où se trouvait mon 3.9 ! Ouf, j'étais enfin autonome et j'allais pouvoir utiliser la CF du copain (ben oui, la mienne étant branchée en interne dans le 1200 et me servant de disque dur) comme disque d'échange entre mon 1260 et mon Mac Mini sous MorphOS. 

La première chose que j'ai voulu installer était alors Poseidon, afin de pouvoir utiliser une clef USB, ou bien mon lecteur CF en USB (ce qui me permettrait alors de me passer du port PCMCIA). Mais voilà, retrouver les archives de Poseidon, notamment la version 4.4 et sa mise à jour, ça a été la croix et la bannière. Je crois que j'ai trouvé tout cela par hasard sur les excellents forums anglophones d'EAB. En fait, Chris Hodges, l'auteur de Poseidon, a laissé ses archives sur un coin de son site internet mais encore fallait-il le savoir. Du coup, je vous donne le lien vers son "backup", à toute fin utile : http://dump.platon42.de/files/
Mais, parce qu'il fallait bien un mais, il n'y a que le pilote de la RapidRoad qui est dans l'archive disponible sur le site de Chris Hodges... Toutefois, un gentil forumeur d'EAB, DrBong pour ne pas le citer, a mis une archive en lien direct dans son post sur le fil dédié, archive contenant Poseidon 4.4 et sa fameuse mise à jour. Ouf ! Même s'il y a apparemment une mise à jour en version 4.5, avec ça on peut déjà s'amuser (et apparemment, certaines classes USB fonctionnent mieux avec d'anciennes versions de Poseidon et c'est vrai que moi, j'étais resté en version 3 et des bananes avant, mais je ne me plains pas de cette version 4.4, au contraire). Ça y était, j'étais enfin autonome ! Victory !


Et maintenant, on fait quoi ?

Eh bien après cela, j'ai installé la bibliothèque 68040 "dummy" (qui est une fausse bibliothèque qui renvoie vers la bibliothèque 68060) et par conséquent la bibliothèque 68060.
J'avais fait tout ça certes pour rattraper ma connerie initiale, mais aussi pour voir si ma Blizzard 1260 était encore vaillante et robuste ! Alors, quoi de mieux alors que de tester A/NES, l'émulateur NES pour Amiga Classic, avec la rom de Duck Tales ? En effet, ce jeu ramait méchamment avant quand ma 1260 donnait des signes de fatigue... Ou bien encore tester Day of the Tentacle dans son édition "all inclusive" pour Amiga Classic, qui permet de le lancer et d'y jouer sur un Amiga avec au minimum un 68030, et qui ramait plus que violemment auparavant lui aussi malgré ma 1260 et ses 128 Mo de mémoire !..

Et le résultat a été plus que détonant ! Duck Tales était enfin "full speed" ! Vous auriez du voir mon sourire béat et niais devant Oncle Scrooge (Oncle Picsou en VO) sautillant gaiement avec sa canne ! ^^ 
Quand à Day of the Tentacle, j'avais dû ajouter un patch à mon système au moment de l'installation (BlazeWCP, comme indiqué dans le readme que j'ai lu, oui oui), qui allait être le premier d'une longue lignée, mais j'y reviendrai plus tard. Et là, c'était tout bonnement hallucinant ! Le jeu tournait vraiment trop vite, le défilement horizontal qui saccadait à mort auparavant était désormais aux petits oignons, et une nouvelle fois, je souriais bêtement ! ^^

Mon Indivision affichait le tout à peu près correctement et j'étais déjà plus que content du résultat. L'Amigaïste Classic qui sommeillait en moi n'avait finalement pas si mal vieilli que ça, il avait en effet encore quelques beaux restes le bestiau ^^

Pour conclure ces tests, j'ai lancé quelques demos dont des demos spécifiques 68060, comme celles de The Black Lotus (notamment la Startruck) ou encore d'Ephidrena (je pense à la Hexel, sortie cette année d'ailleurs). Alors c'est du bel ouvrage et ça tourne du feu de dieu, sauf pour la Hexel qui ramouille un poil chez moi sur la partie "montagnes en cubes". Mais après recherche, ça ne le fait pas que chez moi, donc tout va bien ^^



J'étais à ce moment là heureux comme Roger Rabbit : EUH - ERE - EUH !


Et après ! Bidouillons l'Indivision mon bon ami !

Le week-end touchait alors à sa fin et il allait bientôt falloir remballer... Mais bon, pourquoi ne pas tester l'outil dédié au calibrage de l'Indivision et mis à jour en version 1.5. Depuis mon achat il y avait quelques années et mes pauvres premiers essais de configuration, l'outil avait en effet quelque peu évolué. 
Et quelle bonne idée de faire ça avant de partir, non ? Eh bien non... Ne comprenant pas ce qu'il convenait de faire, j'ai bousillé toute ma config' qui était alors à peu près correcte. Plus qu'à tout recommencer, nom de Zeus Marty !

Finalement, j'ai recalibré l'Indivision chez moi et j'ai réussi à faire en sorte que l'affichage soit en plein écran en 800x600 sur le Workbench, qui affiche donc un Workbench en 800x600 pour le coup, et en 640x480 pour les jeux et autres, qui eux s'affichent en 320x200 ou 640x480 ou autres variantes. Encore une fois, j'étais content de moi même s'il a fallu y aller par tâtonnement...
En effet, il est important de comprendre comment fonctionne ce soft et ce n'est pas trop le readme qui va vous y aider malheureusement...

Il faut voir l'Indivision comme une passerelle. D'un côte, elle capte les modes de l'Amiga et de l'autre elle les ressort en VGA avec une configuration prédéfinie par vos soins, ou par la configuration par défaut, pour chaque mode de l'Amiga. Vous devez donc en premier configurer les modes VGA, qui sont les modes de sortie de votre Indivision et qui s'afficheront par conséquent sur votre écran. Ces modes VGA sont pour le moment indépendants de vos modes Amiga, il faut donc réussir à faire/trouver des modes VGA qui vont bien et qui s'affichent sur votre écran !
Une fois ceci fait, on passe à la phase de correspondance. En effet, vous allez devoir indiquer pour chaque mode Amiga le mode VGA que l'Indivision doit utiliser et avec quelles "options".

Ainsi, j'ai choisi d'afficher le mode PAL classic sur un écran 640x480 que j'avais préalablement créé. Mais attention, le PAL classic est censé être en 320x256, il faut donc que votre mode VGA affiche du 640x256 en mode "Hires" et "Lines" (le mode "lines" signifie, si j'ai bien compris qu'il double chaque ligne pour ainsi avoir un écran en 640x512, les autres modes étant "lines 75%", "lines 50%", "lines 25%" et "off" qui ne s'affichent alors pas en plein écran et affichent alors respectivement 75% de lignes en plus, 50% en plus, 25% en plus ou juste le nombre de lignes défini de base). 
Si vous avez été attentif, vous allez me dire que 512 lignes c'est bien plus grand que les 480 lignes de mon mode VGA, et à cela je vais vous dire oui, mais que là il suffit de jouer avec la préférence Overscan pour tout faire tenir dans l'écran ! Joe la Bidouille, Joe la Bidouille ! Et pour le mode PAL interlace, j'ai le même mode d'écran VGA avec le mode "Hires" mais avec les "lines off" puisque le principe de l'interlace, l'entrelacé, est justement de doubler le nombre de lignes (en ajoutant un vilain scintillement sur un écran classique). Je suis donc bel et bien en plein écran également en PAL interlace et sans scintillement puisque l'Indivision le "gomme", ouf !

Pour le Workbench, j'ai récupéré le mode d'écran HighGFX, en version interlace, en 800x600 que j'ai alors associé à un mode VGA en 800x600 mais j'ai fait en sorte que ce mode VGA s'affiche en fait dans une résolution en 1024x768, résolution native de mon écran 15" TFT Iiyama. Pour les réglages, je suis alors en mode "S-Hires" et "Lines off" et voilà ! 
Nickel, même si j'avoue ne pas encore comprendre tout à fait ce que j'ai fait !

J'ai donc mon Workbench en 800x600 plein écran, le PAL et le PAL Interlace en plein écran également et c'est bien là le principal. Me reste maintenant plus qu'à bidouiller mon mode VGA 640x480 afin que le scrolling soit fluide. Pour cela, il conviendra que je suive le tutoriel sur Youtube de Marcos Marcilli, surtout que ça n'a pas l'air très compliqué. Merci à lui d'ailleurs.


Patchi patcha !

J'avais parlé durant ce week-end avec les potos des patchs à installer absolument sur un Amiga AGA avec carte 68060 et MCP était revenu sur le tapis quelques fois, mais aussi Birdie 2000 et autre VisualPrefs ou encore MagicMenu. Les trois derniers étant des patchs permettant d'embellir le Workbench, je n'ai pour l'instant conservé que MagicMenu, tellement pratique, tandis que Birdie et VisualPrefs ont été mis de côté pour le moment. 
MCP est quant à lui un incontournable et surtout un véritable couteau suisse apportant une multitude d'outils intéressants comme des raccourcis claviers, la personnalisation de la barre d'écran et des barres de fenêtre dans lesquelles vous pouvez ajouter des boutons (j'ai bien aimé l'ajout de boutons dans l'éditeur de texte Edit, boutons qui permettent d'ouvrir/sauver/chercher sans aller dans le menu ; j'ai aussi ajouté un bouton Shell sur la fenêtre de Classaction 3.6, la version de Salim Gasmi en MUI qui est la meilleure, bouton qui permet donc d'ouvrir un Shell rapidement sans rien de plus qu'un simple clic).

Après BlazeWCP, j'ai voulu installer FBlit et FText qui sont censés utiliser le processeur à la place du Blitter et aussi ne plus utiliser la mémoire Chip. Sauf qu'avec FBlit/FText et mon écran en 800x600 j'ai des méchants bugs d'affichage. Du coup, je les ai pour l'instant désactivés tous les deux...


Celui que je voulais aussi absolument avoir sur ma machine, c'était l'excellent KingCON:, ce remplaçant du CON: d'origine. Et pour ceux qui sont au fond près du radiateur et qui ne savent pas ce qu'est un CON: (à ne pas confondre avec un con tout court), il s'agit du gestionnaire de la console de l'Amiga, de son Shell, la ligne de commande quoi. Et si vous ne voyez toujours pas de quoi je parle, c'est en fait l'équivalent de "cmd" sous Windows ou du "Terminal" sous MacOS. Et KingCON: est un remplaçant de luxe puisqu'il permet de faire la complétion des noms (vous tapez juste le début du nom puis vous appuyez nonchalamment sur la touche TAB et le nom se complète tout seul s'il n'y a pas d'autre possibilité ou bien une fenêtre s'ouvre pour vous laisser choisir le bon fichier, classe !). Cela ajoute également un ascenseur dans vos fenêtres Shell (ce qui peut paraître anodin mais est souvent très utile quand vous faites un "dir" dans un répertoire de plusieurs dizaines de fichiers) ! KingCON: est pour moi un indispensable, notamment quand on aime utiliser le Cli (autre nom de la ligne de commande sur Amiga). Vous pouvez également utiliser VincED qui est fourni avec le 3.9 et qui est apparemment très personnalisable, mais ma préférence reste pour KingCON: personnellement.

Par contre, il y a un patch que je n'ai pas encore installé mais cela ne saurait définitivement tarder, c'est l'incontournable Blizkick de Harry "Piru" Sintonen ! Rien que pour mettre le module qui permet d'avoir la musique de démarrage de l'Amiga 1000 d'ailleurs ^^

Enfin, et même si ce n'est pas vraiment un patch, j'ai installé mousewait que j'ai intégré dans ma startup-sequence. Mais pourquoi faire ? Eh bien la startup-sequence étant le script de démarrage du système de l'Amiga, c'est elle qui lance les différentes actions préalables au lancement du Workbench, qui recharge notamment les préférences et qui lance au final le Workbench. Or dans mon cas, une fois le Workbench démarré, je me retrouve avec "seulement" 1,5 Mo de mémoire Chip... Ce qui est bien mais pas top. De plus, je suis avec mon écran en 800x600 et certains jeux/logiciels n'aiment pas ce mode d'écran et ont un affichage tout trashé... (je pense notamment à l'excellent Pong de Claudio Buraglio par exemple ou bien encore Dune de Cryo...). 


L'idée était donc ici d'utiliser mousewait pour détecter le clic gauche de la souris au démarrage de l'Amiga pour ensuite basculer sur une startup-sequence alternative qui me permettrait de charger KingCON:, le clavier français et me laisserait ensuite sur un Shell sans charger le Workbench afin de maximiser ma mémoire Chip ! Et le résultat est aussi bon qu'escompté, voire meilleur puisque j'arrive à avoir 1.938.240 octets de mémoire Chip sur un maximum de 2.093.056 octets ! Yeah ! Et le tout en 640x256 pour le moment... ce qui donne par contre, encore et toujours, un affichage trashé pour Pong et Dune, ces derniers voulant du 320x240... C'est quand même bizarre, car avec un "boot with no startup-sequence" (choisi lors du démarrage de la machine en maintenant les deux boutons de la souris via le menu dédié qui apparaît alors, voir capture ci-dessus), je peux les lancer avec un affichage correct... encore un truc à creuser ! 

Je vous donne ci-dessous les lignes à ajouter en tout début de votre startup-sequence pour lancer la startup-alternative se trouvant elle aussi dans le répertoire S: (équivalent de Sys:S/) quand vous cliquez sur le bouton gauche de votre souris au moment du démarrage de votre Amiga :
C:GetMouseInput LOCAL
   If $MouseInput EQ 1
     UnSet MouseInput
     C:Makedir RAM:T RAM:ENV
     C:Assign >NIL: ENV: Ram:Env/
     C:Assign >NIL: T: Ram:T/
        ; Ci-dessous les lignes qui désactivent CON et RAW et lancent KCON and KRAW !
        Assign CON: DISMOUNT
        Assign RAW: DISMOUNT
        Mount CON: from DEVS:KingCON-mountlist
        Mount RAW: from DEVS:KingCON-mountlist
       Execute S:startup-alternative
       Endcli >NIL:
    EndIf
UnSet MouseInput

Et voici le fichier startup-alternative qui paramètre donc KingCON: et tout ce qui va bien pour finalement ouvrir un Shell :


C:SetPatch QUIET
FailAt 21
C:MakeDir RAM:Clipboards RAM:ENV/Sys
C:Copy >NIL: ENVARC: RAM:ENV ALL NOREQ
Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE
Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: S:
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale
Assign >NIL: LIBS: SYS:Classes ADD
Assign >NIL: HELP: LOCALE:Help DEFER
BindDrivers
SetEnv Language "english"
SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart
C:AddDataTypes REFRESH QUIET
C:IPrefs
C:ConClip
Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities
NewCli con:0/0/640/480

J'ai donc pas mal avancé et je suis vraiment content du résultat. Même si ce n'est pas encore optimal, on s'en rapproche. 

Je devrais d'ailleurs récupérer un FastATA lors de la OufParty de ce week-end, ce qui devrait considérablement augmenter les débits de ma carte compact flash, en tout cas je l'espère.

Une fois que tout sera paramétré au "poil de cul près", je ferai une copie de mon système (pour ne pas me faire avoir deux fois) et je tenterai d'utiliser la disquette de boot de Zarnal pour configurer correctement mon disque dur 2"1/2 et enfin conserver ma compact flash pour les échanges de données ou bien pour l'utiliser dans mon Amiga 600 ! 

Affaire à suivre donc !

--
/me a complètement replongé et bricole sur son Amiga plus de 2 heures tous les soirs depuis plus de 10 jours et ça fait du bien ! Rah, quel pied !


Billet posté le 30 mai 2018