Obligement - L'Amiga au maximum

Vendredi 19 avril 2024 - 04:12  

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

 


Entrevue avec Stéphane Guillard
(Entrevue réalisée par Lionel X - avril 2005)


Il n'y a que deux développeurs français dans l'équipe de développement d'AmigaOS 4. Voici un entretien avec l'un d'entre eux, Stéphane Guillard, qui nous en dit un peu plus sur lui et AmigaOS 4.

- Quand et comment avez-vous découvert l'Amiga ?

Un jour de 1984 ou de 1985 (je raconte de mémoire, il se trouvera bien quelqu'un pour contredire ma chronologie, peu importe), je passais devant la vitrine d'un magasin dans lequel trônait un A1000, surmonté d'un écran 1081 qui affichait un dégradé de couleurs défilant, qui était difficile à croire pour quelqu'un qui n'avait jamais eu plus que les 8 couleurs de base et leurs demi-tons (half tones)...

La machine était marquée "Amiga". Le programme, c'était une version alpha de l'utilitaire de copie de disquettes "Marauder". Je me rappelle comme si c'était hier, de l'incroyable animation des disquettes, etc.

Je suis rentré dans la boutique, et j'ai rencontré une bande de farfelus géniaux qui "avaient vu la lumière", la bande de Computer Shop Janal (Valence, Lyon, Chambéry, Saint-Étienne, etc.).

J'ai dû discuter avec Jacques Durand au moins 8 heures ce jour là. J'ai rencontré les autres par la suite (Ilan Sebbagh, Christian Bugnon, Georges Gaillard, Belkacem Benedris et les autres) et je tiens ici à leur rendre un immense hommage, car ils étaient animés par la passion et non par le mercantilisme, et ils ont permis à quelques générations de jeunes de découvrir l'informatique, et pour plus d'un, d'en faire un métier qui leur permet aujourd'hui de nourrir leur famille...

Je dois à ces amis autant qu'à mes parents dans la construction de la facette "informatique" de ma culture.

J'ai ainsi appris qu'Ilan était tombé en arrêt devant cet A1000 qui était montré en avant-première dans un salon d'informatique parisien, et l'avait littéralement arraché au distributeur (Janal était distributeur Commodore depuis la fin des années 1970, ceux qui ont connu Procep en garderont un souvenir ému...) Bon, les Janal avaient déjà arraché pas mal de prototypes de machines à l'importateur, du CBM PET2001 au CBM 8000, mais ils étaient les meilleurs promoteurs de ces machines.

En rentrant chez moi, j'ai argumenté "suffisamment" avec mes parents pour que cette machine au long cours trouve sa place sur la table du salon ! Mmh... Plus de 15 000 FF pour une machine avec 256 ko de RAM, un écran NTSC, un clavier QWERTY, un jeu de composants proto NTSC qui ne faisait même pas du HAM, un système pré-1.0, etc., c'était gonflé de ma part. Surtout qu'on ne pouvait même pas s'en servir... sans la brancher sur un transfo 110/220 !

Mais bon. Un vrai micro 16/32 bits, ça mettait une claque. Lancer cinq "CLI" et les faire bosser en parallèle, c'était incroyable, absolument inconcevable pour toute autre machine à vocation personnelle de l'époque.

Comme l'Apple 2, la machine arrivait avec tous ses schémas, et plus tard on pouvait acheter un ensemble de documentations de programmation très bien conçus (les fameux ROM Kernel Reference Manuals, alias RKRM, chers eux aussi...), qui étaient complémentés par la série des bouquins Micro Application consacrés à l'Amiga qui vinrent ensuite, dont quelques-uns étaient fort bien faits.

Voilà comment j'ai découvert l'Amiga.

Autour de Janal, gravitait (et gravite encore) une population de gens mélangeant développeurs, utilisateurs à vocation hobbyiste, et utilisateurs professionnels, et s'est tout naturellement mise en place une relation entre ces gens. J'appartenais à la première catégorie, et j'ai eu la chance que certains de la troisième aient accepté de me payer pour le développement de quelques outils, ce qui m'a permis alors que j'étais étudiant, de m'acheter des machines à jour (successivement un A2000, puis un A2500/20, puis /30 etc.), ainsi que les outils de développement ad hoc (la longue série des compilateurs Manx Aztec/C, tiens, la même que j'utilisais sur Apple 2 ! Ainsi que d'autres langages, qui correspondaient par ailleurs à ce qu'on me demandait de travailler dans mes études, le Lisp, le Pascal, le Prolog, etc.).

A titre d'exemple, voici quelques applications originales que j'ai développées à l'époque autour de l'Amiga :
  • Un logiciel de visualisation stéréoscopique permettant à un médecin en train d'opérer par endoscopie, de positionner dans l'espace 3D des "objets étalon" pour évaluer la distance entre deux organes. Le principe était basé sur la création de deux vues décalées selon les axes oculaires, en synchronisation avec l'angle et le focus des deux caméras endoscopiques utilisées.

    En d'autres termes, j'utilisais la capacité de l'Amiga à changer le contenu de l'écran à chaque image, pour visualiser alternativement la vue "oeil droit" puis la vue "oeil gauche" des objets étalons en 3D. Cette vision 3D était ensuite montrée au chirurgien en superposition (genlock) avec les images respectives de deux caméras droite/gauche télécommandées à l'intérieur du corps du patient, à travers des lunettes stéréoscopiques LCD, alternativement opaques/translucides à gauche et à droite. A l'époque, hors électronique sur-mesure, impossible de réaliser ça avec autre chose qu'un Amiga.

  • Un système d'acquisition de données médicales ambulatoire non intrusif. Nous avons conçu et réalisé un Amiga portable (très réduit), avec un 68000, 512 ko de mémoire statique, un écran LCD, etc., qui faisait tourner notre version très réduite d'Exec, et qui acquerrait les signaux issus de 16 ports banalisés sur lesquels on pouvait brancher une mesure de saturation du sang en oxygène (par transparence rouge/infrarouge à la manière du capteur de la Méthode Cauet), des capteurs d'électrocardiogramme, des capteurs de débit et température nasale, etc.

    Ce "portable" (1 kg avec sa batterie) était connecté à un A2000 par port parallèle, entièrement paramétré en termes de configuration des capteurs, date et heure de début d'acquisition, etc. puis déconnecté, installé dans un holster porté par le patient, raccordé aux capteurs. Le patient partait, puis revenait une fois l'acquisition terminée. La mémoire du portable était déchargée dans l'A2000, et tous les signaux acquis analysés par une montagne de lignes de code C, dédiées à la reconstitution d'un électrocardiogramme, etc. Ce système a été utilisé par les premiers laboratoires s'intéressant aux perturbations du sommeil (ils envoyaient les patients chez eux pour que le fait de dormir dans un lit d'hôpital ne soit pas une perturbation gênante), ou bien encore pour des analyses du comportement sportif, etc. Lorsqu'il s'est agi de passer au stade industriel, j'ai découvert que l'aventure d'entreprise n'était pas qu'une affaire de technique... et tout s'est arrêté là.

  • J'ai aussi gagné un peu d'argent à cette époque, en vendant des images de synthèse raytracées par Sculpt3D, par exemple à des fabricants de cocottes minutes, ou de lampadaires. Ce logiciel a d'ailleurs été l'une de mes révélations les plus impressionnantes, au point que par hommage à son auteur, je l'ai entièrement réécrit par la suite.
Enfin, j'ai passé quelques journées libres d'obligations estudiantines derrière le comptoir de l'une ou l'autre des boutiques Janal... ainsi que d'innombrables nuits à récupérer pour la communauté Janalesque le contenu des disquettes Fred Fish avec mon modem 300 bauds connecté au serveur X25 du campus de la Doua. :)

- Comment a évolué votre équipement et quelle est votre configuration actuelle ?

En fait, après la fin de l'aventure du système d'acquisition médicale, sur lequel j'avais passé la plupart de mes nuits d'étudiant pendant 3 ans, j'ai remisé les Amiga à la cave pendant... longtemps. L'A4000 venait de sortir, pour autant que je m'en rappelle.

J'ai "fait du Linux" pendant un bon moment, sur PC (étant comme tout le monde soufflé par la progression exponentielle du rapport performance/prix tel qu'annoncé par Moore).

Je n'ai donc pas du tout assisté à la fin de Commodore, ni aux épisodes tumultueux qui s'en sont suivis, ni aux conflits de personnes nés à cette époque et perdurant encore aujourd'hui.

Je me suis réintéressé à l'Amiga un jour de 1999 lorsque Christian Bugnon m'a plus ou moins emmené de force à un salon à Cologne.

Je suis tombé sur le stand Haage & Partner, sur Sam Jordan et un des frères Frieden, en train de discuter entre eux d'optimisations pour WipEout 2097... J'ai regardé le jeu tourner sur un A4000, j'avais de la peine à croire que c'était possible. J'ai alors découvert a posteriori ce dont tous ceux qui n'avaient pas quitté la barque comme moi disposaient : des cartes PowerPC, des cartes vidéo 3D, des cartes Ethernet, et sur le plan logiciel, tout ce qu'il fallait pour tirer parti de tout ça. Il y avait aussi un autre membre de Haage & Partner présent (Markus Nerding ?), qui m'a fait une démonstration de StormC 3. J'ai trouvé très sympa de pouvoir enfin disposer d'une IDE acceptable (à mon goût), une fois GoldED intégré.

J'ai exhumé mon 2000 le mieux équipé, j'ai acheté aux États-Unis une carte GVP-m 2060 avec 128 Mo de mémoire et un disque SCSI, j'y ai collé une Picasso 4 et une Ariadne 2 (gentiment données par Janal), et j'ai replongé (Linux m'intéressant de moins en moins avec l'explosion des distributions délibérément incompatibles poussées par le mercantilisme).

C'est à cette époque que j'ai développé un pilote Linux/m68k pour la puce SCSI de la carte GVP, puis AmiVNC, puis quelques autres gadgets.

J'ai ensuite eu l'occasion de racheter un A4000 à un jeune ingénieur qui vendait tout pour créer sa jeune société Internet (il aurait mieux fait de garder sa machine :), puis la carte CyberStormPPC de Raphaël Barthel, qui la vendait pour financer sa future "carte G4 de Phase 5".

Je venais de terminer la première version Windows/Direct3D utilisable de mon clone du modeleur Sculpt3D, et un ami (David Larochette) m'a lancé un défi amusant : "tu ne feras jamais de version Amiga de ce truc". Bon. Plutôt que de réécrire tout pour l'API Amiga, j'ai redirigé tous les appels de fonction Windows vers des appels Amiga, de la gestion des fenêtres à la 3D, et voilà, quelques semaines plus tard, ça tournait.

Ce qui m'a plu aussi bien pour AmiVNC que pour Skulpt/W3D, ce fut "d'aller au fond des choses" sur les domaines correspondants : la programmation réseau puis la programmation 3D. Nos machines permettent encore ça, alors que sous Windows, c'est devenu autrement plus compliqué...

C'était aussi ma motivation lorsque j'avais créé mon contrôleur de disque dur pour Apple 2 (et le logiciel associé) : comprendre de manière exhaustive comment l'IDE fonctionne.

Ensuite, j'ai acheté Amithlon et je l'ai installé sur un PC à la maison, "pour voir" (et pour soutenir Haage & Partner, auquel j'ai aussi acheté StormC 4). J'ai été séduit par la rapidité d'Amithlon, le code 68k constituant notre AmigaOS 3.x et nos applications tournant plusieurs ordres de grandeur plus vite sur le JIT d'Amithlon que sur nos 68060. Ce qui m'a fait ressentir l'absurdité de ne pas avoir ce système d'exploitation en version native PowerPC.

Par contre, j'ai trouvé bizarre qu'on ne puisse pas utiliser le matériel 3D sous Amithlon, alors que tout le reste était utilisable (réseau, disque dur, etc.).

J'ai pris contact avec les frères Frieden pour voir s'ils accepteraient de me donner les fichiers includes et documentations nécessaires à la création d'un rendu logiciel 68k, ce qu'ils ont accepté, sous réserve que je m'en réfère à eux pour décider de le distribuer ou non une fois terminé.

J'ai fait ce code. Mais l'incroyable champ de bataille conflictuel qu'est devenu Amithlon entre-temps a rendu impossible l'acquittement d'une licence Warp3D par l'équipe Amithlon (Bernd Meyer, Harald Frank, H&P), puisqu'elle a littéralement explosé. J'ai compris à cette époque qu'Amithlon n'avait aucun avenir, ni en tant que produit, ni pour le système d'exploitation qu'il fait tourner (AmigaOS 3.x) qui n'évoluerait plus.

En conséquence, les Frieden m'ont demandé de ne distribuer ni les sources du swrender (qui auraient permis de recréer une version 68k) ni le binaire 68k. J'ai donc seulement mis en ligne le binaire PowerPC WarpOS.

- Qu'avez-vous fait avec votre Amiga depuis que vous en possèdez un, autant en termes de programmation/création que d'occupations "annexes", hors AmigaOS 4.0 ?

Voir ci-dessus.

En termes de jeu : je ne suis absolument pas joueur. D'ailleurs, j'ai aussi une PlayStation 2, mais je ne m'en sers que pour développer du code dessus. :)

- Vous faites partie de l'équipe d'AmigaOS 4.0. Comment êtes-vous entré dans l'équipe, et de quoi vous êtes vous occupé jusqu'à présent ?

Je n'ai pas du tout participé à (ni été intéressé par) la genèse initiale d'AmigaOS 4. Je crois me souvenir (sans en être sûr du tout) qu'un jour mon ami Benjamin Yoris m'a signalé que les Frieden cherchaient à constituer une équipe pour ce projet.

Partant du principe qu'AmigaOS 3.x était mort car H&P ne développerait rien au-delà du 3.9, et qu'Amithlon n'avait pas de futur, cette option de portage au PowerPC, avec la perspective de refaire en mieux certains aspects peu satisfaisants, m'a séduit.

J'ai pris contact avec les Frieden, effectivement ils en étaient au stade de la réflexion conceptuelle, et étaient intéressés par ma participation. Voilà, je faisais partie de l'équipe, avec l'intention initiale de travailler sur le successeur de Warp3D, "Nova".

Pour info, l'équipe s'est constituée intégralement à cette époque-là, et n'a pas bougée depuis. Nous sommes 43 développeurs répartis dans le monde entier, il n'y a jamais eu aucun conflit important entre nous à quelque sujet que ce soit. Ceci est largement dû au fait que nous ne nous marchons pas sur les pieds, la nature ayant fait que la sensibilité ou les centres d'intérêt de chacun constituent un panel complet pour faire AmigaOS 4.

Nous communiquons quotidiennement par une liste de diffusion de développeurs, puis une autre pour les bêta-testeurs (qui sont environ 150). Nous avons un serveur CVS contenant l'état courant et toutes les versions antérieures de tous les modules du système. Nous avons aussi deux serveurs FTP (un pour les développeurs, un pour les bêta-testeurs), un outil de suivi des reports de bogues (BugZilla, qui vous pourrit de courriels jusqu'à ce que vous ayez corrigé votre bogue) et un Wiki permettant à chacun d'écrire tout ce qui ne rentre pas dans le cadre des autres canaux de communication.

Au sujet des outils de développement, autrefois, pour compiler entièrement AmigaOS 3.x, la rumeur, pas éloignée de la vérité, disait qu'il fallait pas moins de neuf compilateurs ou assembleurs tournant sur cinq plates-formes différentes. Aujourd'hui, AmigaOS 4 peut être compilé intégralement sous AmigaOS 4 en utilisant un seul compilateur : GCC. On peut également fabriquer AmigaOS 4 depuis d'autres plates-formes en utilisant ce que nous appelons des compilateurs croisés, disponibles sous Windows, sous Mac OS, sous Solaris, etc. Personnellement, je développe sous Windows, en utilisant Microsoft Visual Studio (mon environnement de développement préféré), dans lequel j'ai intégré complètement les includes et les compilateurs AmigaOS 4, mais aussi PS2 et Apple 2, ce qui me permet avec un seul outil de maintenir tous mes projets pour ces machines, en complément de mes projets Windows.

En termes de contribution personnelle à AmigaOS 4, je me suis intéressé successivement à plusieurs choses :
  • Initialement, à poser les concepts autour de l'utilisation de la MMU du PowerPC. Comment utiliser les Segment Registers, les BAT, etc.

  • Puis pendant quelque temps, à pas grand-chose en fait (étant largement mobilisé par mes projets hobbyistes sur PS2, qui se conclurent par une seconde place à l'Evoke 2003 en Allemagne, derrière Haujobb). Pendant ce temps, les Frieden codaient la tripotée de fonctions qui constituent ExecSG (puisque l'ancien Exec était 100% assembleur 68k, il fallait de toute façon tout réécrire).

  • Ensuite, lorsque ce "noyau" s'est mis à démarrer sur Amiga Classic/PowerPC, j'ai aidé à déboguer ici et là.

  • Ensuite, lorsque les premiers AmigaOne sont arrivés, j'ai commis l'erreur de lever le doigt quand quelqu'un a dit "y'en a un qui connait l'IDE/ATA dans la salle ?"... J'ai passé un temps très important à développer les pilotes IDE pour AmigaOS 4, entre autres à cause du problème d'interaction entre le VIA et la puce Ethernet lors des transactions Ultra DMA, et du fait que ma machine de développement était à l'époque équipée d'une barrette de mémoire qui inversait un bit de façon aléatoire tous les "n" giga octets, ce que j'ai mis des mois à identifier pour ce que c'était vraiment (un problème de RAM).

    Initialement, j'ai fait un pilote ATA (disques durs, Compact Flash) / ATAPI (CD, DVD) pour la puce VIA686b qui est sur les cartes mères d'AmigaOne G3-SE, AmigaOne XE et MicroA1. Puis lorsque le problème d'interaction a été compris, j'ai fait un pilote pour la puce IDE Silicon Image 0680, ce qui offrait aux utilisateurs d'AmigaOne XE une solution pour pouvoir utiliser le DMA IDE en même temps que la puce Ethernet. Puis lorsqu'une solution a été trouvée pour le problème d'interaction, j'ai fait évoluer mes pilotes vers le Serial ATA. Aujourd'hui, toutes les puces SATA Silicon Image PCI sont gérés par mes pilotes, le 3112, le 3512 et le 3114.

  • J'ai aussi réalisé quelques autres outils (comme "idetool" permettant de régler tous les paramètres de ces pilotes) et bibliothèques (comme un adaptateur OpenPCI permettant d'utiliser le pilote de la puce Ethernet RTL8139 de Benjamin Vernoux sous AmigaOS 4, ou encore les logiciels OpenPCI de Guido Mersmann, initialement écrits pour Amithlon, comme AmithlonTV, etc.).

  • J'ai porté mes propres applications (AmiVNC, swrender Warp3D et Skulpt) sous AmigaOS 4.
Je fais aussi partie de la "sous-équipe" Warp3D/Nova, et je suis satisfait du cours pris par les choses sur cet axe.

J'ai aussi quelques autres projets AmigaOS 4 sur le feu, mais je n'en dirai pas plus...

- Pourriez-vous nous raconter ce que vous savez de la genèse d'AmigaOS 4.0 ? Pourquoi Hyperion s'est-il engagé dans cette voie, alors qu'il y avait déjà du travail réalisé sur MorphOS ?

Aucun commentaire là-dessus :
  • Comme dit ci-dessus, je n'ai été ni actif ni spectateur de la genèse initiale d'AmigaOS 4, avant d'intégrer l'équipe.
  • Je n'ai aucun point de vue sur l'alternative MorphOS, ne l'ayant jamais utilisé, et ne m'étant jamais intéressé de près à son origine, à sa conception ou à ses fonctionnalités.
Il ne m'est quasiment jamais arrivé de porter un jugement sur MorphOS, ni en public ni en privé, à l'exception de quelques propos excédés quand le flot d'inanités qui assaille tout développeur ou utilisateur AmigaOS 4, déborde.

En tout état de cause, je ne connais rien à MorphOS, je ne peux donc pas avoir de point de vue légitime (bien qu'il y en ait qui ne s'arrêtent pas à ça). Quant à son historique, je considère qu'il s'est déroulé en dehors du monde Amiga, il ne m'intéresse donc pas, au même titre que BeOS (jamais vu), AROS (jamais vu) etc. J'ai déjà assez d'AmigaOS 4 pour m'occuper.

- Quelles ont été les relations avec Amiga Inc. et les autres équipes qui travaillent sur des projets parallèles (MorphOS, AROS...) ?

Amiga Inc. n'est jamais intervenu pas dans le développement d'AmigaOS 4. Amiga Inc. a concédé à Hyperion une licence de développement d'AmigaOS 4 pour les machines Classic/PowerPC et AmigaOne. Dans ce périmètre, on "fait ce qu'on veut", en s'efforçant de le faire le mieux possible.

Amiga Inc. est focalisé sur sa propre technologie Amiga Anywhere. Je ne sais pas si AmigaOS 4 jouera un rôle quelconque dans cette stratégie dans le futur.

Je ne suis pas dans les détails de la relation Amiga Inc./Hyperion, mais je ne ressens aucune inquiétude pour la suite des événements. Je suppose qu'on pourra continuer à développer AmigaOS 4, et qu'il faudra négocier avec Amiga Inc. si on souhaite le porter sur d'autres plates-formes que celles pour lesquelles Hyperion a une licence.

Je n'en sais (ni n'en pense) pas plus.

Quant aux autres systèmes "parallèles" pour reprendre vos mots, je les considère effectivement comme "parallèles", c'est-à-dire, comme dirait ma mère, qu'ils ne croiseront jamais notre trajectoire. Je ne leur porte aucun intérêt, simplement parce que, comme je l'ai dit plus haut, AmigaOS 4 m'occupe suffisamment (sinon, pourquoi ne pas s'intéresser aussi à Syllabe, ReactOS, etc. ?).

- Quel est votre avis sur la division de la communauté en deux blocs ?

Je ne comprends pas pourquoi ces deux blocs interfèrent, puisque leur trajectoire est "parallèle". Ce qui me surprend le plus, c'est l'agressivité omniprésente envers AmigaOS 4, de ceux qui n'ont pas choisi cette voie. Pourquoi s'y intéressent-ils ? Personnellement, je ne porte aucun intérêt à MorphOS, et nous ne l'avons jamais évoqué au sein de l'équipe AmigaOS 4 (à part en privé lorsque j'ai fait MOSemu avec un autre des développeurs, la motivation d'alors étant réduite à "prouver le concept").

En fait, je pense qu'il y a dans "l'autre bloc" les composantes habituelles d'une communauté Internet, en particulier quelques fanatiques qui font l'essentiel du bruit, avec pour certains un comportement d'irréductible agitation agressive, qu'ils exhiberaient de toute façon dans n'importe quel contexte. Les propos du genre "l'existence d'AmigaOS 4 est un crime", ou bien encore "l'AmigaOne ne marche pas" qui inondent n'importe quelle discussion à n'importe quel sujet ayant trait à AmigaOS 4, ou autres insultes qui nous sont adressées sont plus ou moins facile à supporter en fonction de l'humeur, mais finalement elles en disent plus long sur le côté névrotique (inquiétant ?) de leurs auteurs que sur toute autre chose.

- Comment est organisée l'équipe d'AmigaOS 4.0 actuellement ?

Un chef de projet : Ben Hermans. Un responsable technique : Hans-Jörg Frieden (lui-même développeur). Et les 42 autres développeurs.

- Combien y a-t-il de membres salariés et bénévoles ?

Seuls les deux Frieden sont "salariés". D'autres ont un contrat au terme duquel ils touchent quelques droits, mais une large partie est bénévole, comme moi.

Ça a un avantage et un inconvénient principaux :
  • Avantage : on est motivés uniquement par le "bien faire".
  • Inconvénient : il est difficile de gérer un projet de ce type, particulièrement sous l'angle des "deadlines". :)
Le mot des Frieden résume bien cet état d'esprit : "When it's done".

- Quelles sont les tâches en cours ?

A ce jour, principalement de la finalisation. En fait, il ne reste qu'un unique module qui n'a pas été refait en C et proprement porté PowerPC : console.device, et c'est en cours de finalisation.

Il reste beaucoup de choses à faire pour que nous considérions que tout soit terminé, mais ça nous laissera du travail et des motivations pour AmigaOS 4.x. :)

- Quels sont les points forts d'AmigaOS 4.0 par rapport à AmigaOS Classic et par rapport aux grands systèmes du marché ?

Les points forts sont à mon avis :

La réactivité. J'ai depuis peu un Mac mini, le modèle le plus performant disponible, et il y a beaucoup de situations où on attend... Même un peu, mais surtout sans réponse (genre, le pointeur d'attente ne se met à tourner qu'au bout de quelques dixièmes de secondes).

La simplicité d'administration. On a des fichiers texte ou XML pour régir 99% du fonctionnement du système, avec un peu de connaissances, on peut analyser un dysfonctionnement, et le rectifier, alors qu'une fois Windows XP et sa base de registres, ou Linux et ses outils Gnome/KDE tout-va-bien-tant-que-tout-va-bien partent en vrille, même avec beaucoup de connaissances on a toutes les chances de terminer en réinstallation...

En revanche, on a aussi de gros points faibles, que ce soit le retard en termes de concepts fondamentaux (protection mémoire, streaming, FireWire, etc.), ou d'applications (navigateur Web, suite bureautique, Java, etc.).

Tout le monde le sait, mais ça n'enlève pas à AmigaOS 4 son intérêt en termes de plate-forme alternative hobbyiste (ni même en termes d'autres applications plus professionnelles qui pourraient exister, sur lesquelles je n'ai aucun point de vue).

- Qu'est-ce qui pourrait motiver un ancien amigaïste, ou un utilisateur de PC/Mac, à franchir le pas ?

A ce jour, probablement l'intérêt hobbystique d'une approche différente, au même titre que les autres OS alternatifs.

- Quelles sont les gros projets à venir sur AmigaOS 4.x (logicielles et évolution du système) ?

Je ne sais pas... Nous avons une montagne de souhaits techniques et fonctionnels, ils viendront "when its done", je ne peux réellement pas en dire plus.

Mais on peut quand même noter :
  • Que quelques briques ont dores et déjà été posées pour faciliter le portage d'applications genre OpenOffice.
  • Que nous avons quasiment tous les outils nécessaires pour construire les applications Posix (dont une réimplémentation propre de ixemul/ixnet, un Perl natif, un Python natif, etc.).
  • Que des spécifications formelles existent dores et déjà pour certaines briques à venir, comme Warp3D/Nova, qui abandonne les concepts archaïques du Warp3D actuel pour embrasser les fonctions des GPU programmables (les fameux nuanceurs ("shaders") nécessaires au portage de tous les jeux récents, voire à l'écriture d'applications 3D originales tirant parti des puces post-Voodoo3), ou encore un système de gestion de la mémoire qui remplacera le système actuel.
  • Et enfin, que je ne vois absolument aucune raison pour que l'équipe ne continue pas son travail au-delà de la version 4.0.
- Et maintenant, les défauts d'AmigaOS 4.0 et de l'AmigaOne. En premier lieu, pourriez-vous faire un point sur les problèmes techniques des cartes ?

Oui. Voici l'état des lieux :

1. Les (rares) AmigaOne G3-SE (ceux qui ont un PowerPC 750CXe à 600 MHz soudé sur la carte mère) ont des problèmes de différentes natures, ils sont réellement à considérer comme des prototypes partiellement fonctionnels ayant précédé les XE.

2. Les AmigaOne XE ont les problèmes suivants :

2.1 La liaison AC97link entre le VIA686b et la puce audio Sigmatel ne fonctionne pas. Conséquence fonctionnelle : pas d'audio sans carte PCI. Solution : problème ne pouvant être corrigé.

2.2 La puce Ethernet 3Com et le VIA686b interagissent lors des transactions IDE UDMA. Conséquence fonctionnelle : gel de la machine probable lors d'un transfert IDE DMA simultané avec un transfert Ethernet. Solutions : problème pouvant être corrigé, deux pistes à couper, deux fils à souder ; sinon, on peut utiliser une des cartes PCI IDE gérées (ATA ou SATA), ou bien encore n'utiliser le VIA qu'en mode PIO (beaucoup plus lent).

2.3 Des résistances de 15 kiloohms ont été oubliées dans le câblage des ports USB. Conséquence fonctionnelle : l'USB fonctionne, mais ne détecte pas les insertions de périphériques à chaud. Solution : ajout des 8 résistances manquantes.

2.4 La puce Articia S n'assure pas la signalisation au PowerPC lorsqu'un transfert DMA sur le bus nécessite d'invalider le cache du PowerPC ("cache snooping", "hardware cache coherency"). Conséquence fonctionnelle : aucune dans AmigaOS 4, puisque sous AmigaOS, il est de la responsabilité des pilotes d'assurer cette cohérence de cache. Ce point n'a aucune incidence sur les performances, au passage, car les instructions de vidage du cache utilisées par les pilotes avant de déclencher un transfert DMA ont le même résultat que le vidage provoqué par le snooping au milieu d'un transfert, seul le déclencheur est différent (logiciel dans un cas, matériel dans l'autre) ; ceux qui sont réellement intéressés pour en savoir plus peuvent me contacter. En revanche, pour Linux, il convient d'utiliser des pilotes et/ou un noyau adaptés.

3. Les (très rares) MicroA1 MK2 ont les mêmes problèmes que les XE avec en plus le port PCI non complètement fonctionnel. Mêmes conséquences, mêmes solutions. Je doute de toute façon qu'il y en ait en France, pour autant que je m'en souvienne, seulement 7 ont été fabriqués, ils doivent être considérés comme des prototypes partiellement fonctionnels ayant précédé les MicroA1 "MK3" ou "C" qui sont ceux que tout le monde connait.

4. Les MicroA1 MK3 ou "C" (ce sont ceux qui sont en vente actuellement) n'ont que le problème de cohérence de cache, qui n'a aucune conséquence sous AmigaOS 4.

- Concrétement, au niveau de l'utilisateur final, comment cela se manifeste, en particuliers avec les nouvelles cartes µA1 ?

Sous AmigaOS 4 : aucune manifestation.

Sous Linux : nécessité d'utiliser un noyau et/ou des pilotes qui assurent la cohérence de cache de façon matérielle avant de déclencher un transfert DMA. Mais je pense que celui qui veut utiliser Linux trouve de toute façon bien meilleur compte dans une machine x86, moins chère, mieux gérée que n'importe quelle machine PowerPC.

- Un sujet très polémique est apparu ces dernières semaines, dans les forums, au sujet de la protection mémoire et du pistage de ressource d'AmigaOS 4.0. Grossièrement, de quoi s'agit-il ? Comment les choses évolueront dans le futur ?

Il se crée des polémiques tous les jours au sujet des AmigaOne et d'AmigaOS 4... en dehors de la communauté AmigaOne/AmigaOS 4.

En ce qui concerne la protection mémoire et le pistage de ressource, j'ai donné mon point de vue dans une réponse à Jérôme Senay dans un des innombrables fils de discussion sur AmigaImpact à vocation polémique alimentés par la bande de fanatiques habituels. Je me cite donc ci-dessous :

1. Dans AmigaOS 4, comme annoncé et sans plus de résultat que l'ambition initiale, il y a un degré de protection mémoire. Entre autres, il est interdit d'écrire dans un segment de code. Nous sommes dans une étape intermédiaire, pour laquelle un layout MMU global a été introduit dans le système (AmigaOS, hein, pas un truc vaporeux situé au-dessous, ou au-dessus, ou sur le côté, personne ne sait trop bien, dont personne ne se servira jamais), visant à satisfaire nos objectifs sur ce plan, qui sont principalement d'ajouter un swapper, capable de décharger sur disque une page mémoire non récemment utilisée, pour l'utiliser ailleurs et vis versa. Ce swapper est fonctionnel. Il ne sera peut-être pas diffusé comme tel (encore que, on verra) car nous sommes par ailleurs en train de refaire complètement le système de gestion de la mémoire d'AmigaOS 4, pour aller vers l'étape suivante, qui sera un layout MMU par tâche, et à ce moment-là on en reparlera.

2. Dans AmigaOS 4, comme annoncé, il y a une dose de "resource tracking" (pistage de ressource). Nous avons ajouté un certain nombre de nouvelles fonctions aux différents sous-systèmes, visant à encapsuler les anciennes fonctions d'allocation internes à ces sous-systèmes, en ajoutant au passage l'inscription de la ressource allouée dans une liste propre à la tâche qui alloue, de façon à pouvoir libérer les ressources non libérées par la tâche elle-même à sa suppression.

C'est facile à vérifier, la documentation d'exec.library (par exemple), décrit une fonction "AllocSysObject" qui permet d'allouer (et de préinitialiser, au passage) de façon pistée. Un rapide examen de includes/exec/exectags.h permettra de voir la liste des items qui sont gérés par cette méthode à ce jour :

* IORequest *
* Hook *
* Interrupt *
* List *
* DMAEntry array *
* List node *
* Message port *
* Message *
* Signal semaphore *
* TagItem array *
* Memory Pool *
* Item Pool *

Naturellement, tout ce qui est écrit par les développeurs AmigaOS 4 s'efforce d'utiliser ces fonctions, et en tire bénéfice.

Mais ça ne va pas rendre les anciennes applications 68k plus intelligentes.

- A présent, et de façon purement spéculative, votre prévision de sortie d'AmigaOS 4.0 ?

La date est arrêtée depuis belle lurette, mais je ne suis pas habilité à vous la communiquer. Je pense qu'elle prendra tout son sens en temps utiles. ;)

- Spéculation encore : vous pensez qu'AmigaOS 4.x trouvera combien d'utilisateurs, à terme ?

Aucune idée, disons quelques milliers.

- Quelle est la viabilité commerciale d'AmigaOS 4.0 et de la pérennité de l'AmigaOne ?

Concernant AmigaOS 4, je n'aurais aucune légitimité à gloser sur le sujet de sa viabilité commerciale, n'ayant jamais vu le plan d'affaires d'Hyperion ni celui d'Amiga Inc. On peut simplement noter factuellement que le point mort permettant d'équilibrer les comptes n'est pas celui de Microsoft (rapport au nombre de développeurs payés), et que l'ambition de l'équipe n'est pas non plus celle de Microsoft.

- La survie d'AmigaOS 4.0 est totalement liée à Hyperion... tant que Hyperion existe ;) Savez-vous quelle est l'activité de l'entreprise actuellement ?

Non, aucune idée. Je suppose qu'il faudrait poser cette question à Evert Carton ou à Ben Hermans.

- Que se passerait-il si Hyperion disparaissait ?

Eh bien, AmigaOS 4 rentrerait certainement dans le giron d'Amiga Inc. AmigaOS est un actif d'Amiga Inc., c'est un fait qui semble mal compris, mais qui explique parfaitement le fonctionnement actuel : Amiga Inc. concède des droits sur cet actif, dans le cadre de contrats.

- Spéculation toujours : que doit-on attendre d'Eyetech en termes de nouveau matériel ?

Absolument aucune idée, je suppose qu'il faudrait poser cette question à Alan Redhouse.

- Garry Hare, le PDG d'Amiga Inc., a évoqué un matériel, qui n'est pas un AmigaOne, mais qui faisait tourner AmigaOS 4.0... Votre avis sur le matériel en question ?

Absolument aucune idée, je suppose qu'il faudrait poser la question à Garry Hare.

J'imagine qu'il s'agit probablement d'un "tablet PC" à base de PowerPC, ou d'un décodeur numérique... aucune idée, réellement.

- Que pensez-vous d'Amiga Inc ?

Je l'ai dit plus haut, ces gens ont une stratégie centrée sur le développement de leur technologie Amiga Anywhere, qui en l'état actuel des choses, n'a aucun rapport avec AmigaOS 4. Amiga Inc. n'a jamais interféré dans le développement d'AmigaOS 4.

Leur lien avec AmigaOS 4 est le suivant : ils sont propriétaires des droits concernant AmigaOS, donc personne ne peut faire un AmigaOS sans leur aval. Hyperion a obtenu cet aval pour faire AmigaOS 4, pour les machines Classic/PowerPC et les AmigaOne. Je ne connais pas le contenu du contrat, au-delà de ça.

Je ne sais pas du tout ce qu'il adviendra ensuite.

- Avez-vous testé MorphOS sur Pegasos ?

Non. J'ai seulement vu une fois MorphOS sur Pegasos pendant 5 minutes, lorsque mon ami Benjamin Yoris a apporté son Pegasos au bureau. Je retiens de cette "entrevue" que l'équivalent du Workbench était "skinné", mais pas très fonctionnel. On peut aussi décorer AmigaOS 4, mais je ne suis pas du tout fana de l'aspect Gnome ou Mac OS. Personnellement, j'aime bien la personnalité de l'aspect par défaut d'AmigaOS 4, mais c'est typiquement un terrain de sensibilité personnelle.

Encore une fois, je considère MorphOS comme un autre OS, qui n'a rien à voir avec AmigaOS qui m'intéresse, au même titre que BeOS, etc. ; je n'ai simplement pas assez de temps libre pour m'intéresser à un autre OS.

- Vers quoi pensez-vous que MorphOS va évoluer ?

Aucune idée.

- Qu'est-ce qui vous fait rester dans la communauté Amiga en 2005 ?

La passion d'un hobby intéressant et la participation à un projet mené par une équipe qui travaille depuis 2 ou 3 ans sans jamais avoir traversé de conflit, une équipe de gentlemen.

Nota bene : AmigaOS 4 n'est qu'un hobby parmi d'autres, j'ai le même genre de relations avec l'équipe qui développe PS2sdk, ou la communauté encore active de développeurs Apple 2, sans compter tout ce qui m'intéresse mais qui n'a rien à voir avec l'informatique.

- Y a-t-il une question que j'ai oublié de vous poser et à laquelle vous voudriez répondre ?

Euh... J'ai déjà beaucoup parlé. :)

- Un dernier message pour nos lecteurs ?

Je suis disposé à converser avec tous ceux qui portent un intérêt sincère à AmigaOS 4, que ce soit en tant qu'utilisateur, ou au titre de la curiosité. Qu'ils en profitent, il n'y a que deux Français dans les 43 développeurs cités !

Plus d'informations sur certains des projets personnels que j'ai cités dans ce texte se trouvent sur un site Web que je ne mets malheureusement à jour que de temps en temps, et qui est très incomplet : s.guillard.free.fr.


[Retour en haut] / [Retour aux articles]


Soutenez le travail d'Obligement