Obligement - L'Amiga au maximum

Mardi 23 avril 2024 - 20:05  

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 Almos Rajnai
(Entrevue réalisée par Tommi Toivanen et extraite d'AmigaRulez - février 2006)


Note : traduction par David Brunet.

Voici une entrevue avec le développeur Almos Rajnai, auteur notamment de l'émulation JIT Petunia pour AmigaOS 4.

- Pouvez-vous nous en dire un peu plus sur vous ? Que faites-vous dans la vie et où habitez-vous ?

J'ai 31 ans et je vis à Szombathely en Hongrie. Je suis programmeur indépendant, j'écris des programmes pour divers clients, principalement des applications multimédias. Je conçois parfois des pages Web, mais je déteste ça. J'enseigne également dans un lycée local des disciplines spéciales comme la création de contenu multimédia. Mon passe-temps est mon travail, je suis donc chanceux. J'aime aussi regarder des films et, parfois, je lis des livres (je jure que c'est vrai !).

- Comment a été votre premier contact avec les ordinateurs ?

J'étais très jeune quand j'ai eu mon premier contact avec des bornes d'arcade dans des cafés, principalement des flippers et des machines à sous. J'étais vraiment intéressé par le fonctionnement de ces machines. J'ai donc posé des questions à tout le monde mais personne ne savait exactement ce qu'il y avait dans ces machines. Un peu plus tard, mon père ramena de son travail une calculatrice programmable Texas Instruments. Je fus médusé par le rouleau sur lequel il imprimait avec cette petite chose toute bête. Je savais dès lors que j'avais un but dans la vie : écrire des programmes.

A l'âge de 10 ans environ, j'étais à l'école avec ma mère (elle était enseignante). Là, je fus en étroit contact avec les premières machines : un Sinclair ZX-81 et un tas de HT 1080Z (un ordinateur hongrois basé sur l'ordinateur Video Genie d'EACA, qui était en gros un TRS-80 de Tandy). A cet instant, j'étais à présent certain de vouloir devenir programmeur une fois devenu grand.

- Quand avez-vous eu votre premier Amiga ? Pour quelles raisons l'avez-vous choisi ?

J'en ai vu un pour la première fois chez un ami. Nous avons longtemps discuté en feuilletant des catalogues d'ordinateurs. Et comme ses parents n'avaient pas de problèmes d'argent, il a pu en acquérir un. C'était un Amiga 500+. Je fus choqué, étonné puis étonné et choqué. J'en voulais un ! (j'avais à cette époque un Commodore 16... qui ne soutenait pas la comparaison avec cet Amiga).

- A quoi ressemblent vos configurations informatiques actuellement ?

Eh bien, ce n'est pas vraiment intéressant. J'utilise surtout un vieil Amiga 4000 et plusieurs PC. J'ai encore mon vieux Commodore Plus/4 dans un placard, accompagné d'autres vieux ordinateurs. J'ai vendu mon Amiga 1200 (qui était doté d'un bus Mediator et d'autres cartes) car j'ai pensé que quelqu'un d'autre pourrait en faire un meilleur usage que moi.

- Comment se porte l'Amiga en Hongrie ? A quoi ressemble la base d'utilisateurs ?

L'Amiga était populaire en Hongrie au milieu des années 1990, mais de nos jours, il ne reste que quelques utilisateurs. La plupart des anciens utilisent UAE (houuuu !). Certains fous utilisent encore des Amiga classiques, le reste a acheté des Pegasos (bon marché) et il y a aussi quelques AmigaOne. Au total, nous ne sommes plus qu'une centaine d'utilisateurs ronchonnants. Il n'y a pas vraiment de nouveaux venus.

- Comment s'est déroulée votre carrière de programmeur ?

Vous voulez parler de ma carrière professionnelle ? J'ai gagné quelques prix lors de concours au lycée, alors le fraîchement créé Département d'Informatique me proposa de devenir enseignant. Mon travail de thèse était probablement intéressant pour eux, il s'agissait des techniques de compression. Plus tard, l'enseignement a fini par m'ennuyer et je suis devenu développeur indépendant. Avez-vous un projet pour moi ? :)

- Quels langages de programmation utilisez-vous et préférez-vous ?

J'aime surtout programmer en C et en assembleur. C'est un mélange idéal. Mais je programme aussi en d'autres langages comme le PHP ou avec l'environnement .NET. Pour vous dire la vérité, le langage n'importe pas vraiment, je peux tout apprendre et j'en ai vu beaucoup... :)

- Quels programmes avez-vous développé avant Petunia ?

Sur Amiga ? J'ai réalisé quelques programmes pas très intéressants. La plupart de mon travail n'a même pas été publié. Mes seuls projets à long terme furent l'émulateur Commodore Plus/4 (nommé Flamingo) et un magazine électronique hongrois (nommé FONT!).

Flamingo
Interface graphique de Flamingo

- Pourquoi ce nom de Petunia ?

J'aime nommer mes projets avec le nom de créatures vivantes. Le pétunia est une de mes plantes préférées.

- Comment se fait-il que vous ayez été choisi pour développer Petunia, et comment avez-vous été impliqué dans le développement d'AmigaOS 4 ?

En fait, c'était mon idée de commencer Petunia, dès l'an 2000. J'avais vu quelques émulateurs en mode interpréteur, et j'avais déjà l'expérience de Flamingo (mon émulateur de Commodore Plus/4), donc j'étais sûr de pouvoir faire mieux avec une recompilation dynamique. Plus tard, j'ai montré mon travail à Steffen Häusser (développeur AmigaOS 4) et il était vraiment excité après avoir vu de quoi mon émulateur était capable (il était cependant à un stade très précoce à ce moment-là, nous étions vers le début de l'année 2001). A cette époque, Haage & Partner prévoyait de développer un nouvel AmigaOS natif PowerPC mais Steffen Häusser m'a alors conseillé (je dois lui dire merci). Nous savions tous que cela n'allait pas se matérialiser et Steffen Häusser m'a conseillé de contacter Amiga Inc. et Hyperion car ils avaient besoin d'un émulateur 68k plus rapide que ce qu'ils avaient à l'époque. Ben Hermans m'a envoyé mon contrat et je faisais à présent partie de l'équipe. Mon rêve devint réalité ce jour-là.

- L'émulation de la MMU vous prendrait combien de temps ? Cela en vaudrait-il la peine ? Que gagnerait-on ?

Je ne pense pas que cela en vaille la peine. AmigaOS Classic ne l'a jamais vraiment utilisé, donc la plupart du temps, cette fonction a été improprement implémentée. Seul un petit nombre de programmes l'ont utilisé, donc nous avons décidé de laisser tomber cette fonctionnalité. Cela nécessiterait un accès direct à la MMU PowerPC, ce qui serait un peu compliqué. Seriez-vous capable de me donner le nom de trois programmes importants utilisant la MMU ? Non ? Vous avez donc la réponse.

- Dans quelle mesure Petunia utilise les pipelines et le cache du processeur ? Il y a un risque de blocage ou est-ce empêché ?

J'ai essayé de faire de mon mieux, malheureusement, c'est vraiment difficile à cause de la fonctionnalité limitée nécessaire pour implémenter l'émulation d'une instruction en langage machine. La meilleure façon d'optimiser les pipelines est d'entrelacer les fils d'exécution des instructions, mais la plupart du temps, ce n'est pas possible dans mon cas.

Petunia

- Petunia a permis d'accélérer AmigaOS 4 pour l'exécution des applications 68k. Pouvez-vous nous dire sur quelles optimisations vous travaillez actuellement, s'il y en a ?

Non, je ne peux pas. Désolé. :)

- Si AmigaOS se tourne vers d'autres processeurs que le PowerPC, sera-t-il difficile de faire fonctionner Petunia sur, par exemple, les processeurs x86 ?

Petunia a été écrit principalement en assembleur PowerPC (environ à 80%), donc il faudrait une réécriture totale. Mais je ne le ferais pas, je ne programme pas en x86.

- Quelles sont les applications les plus demandées sur AmigaOS 4 en ce moment, d'après vous ?

Une suite bureautique et un navigateur Internet. Je suppose que tout le monde le savait déjà très bien. De plus, je voudrais également voir arriver un environnement de développement décent, quelque chose comme Visual Studio. Cela renforcerait l'efficacité du développement.

- Quelles fonctionnalités manquent à AmigaOS 4 ?

Hum... Je ne sais pas. J'ai tout ce dont j'ai besoin, mais je suis un programmeur expérimenté, vous savez ;). La gestion de l'impression pourrait probablement être meilleure. Je n'ai jamais essayé par moi-même, mais je sais que les utilisateurs AmigaOS 4 se battent pour arriver à quelque chose. Enfin, ce serait bien d'avoir plus de matériels gérés.

- Quelle est votre opinion sur AROS et MorphOS ?

J'ai mon opinion, oui. :)

- Que comptez-vous faire maintenant que Petunia est terminé ? Que développez-vous à présent ?

J'ai quelques idées en tête, et certaines d'entre elles prennent lentement forme. Mais je ne veux pas faire du vaporware, donc vous connaissez la réponse : cela sortira quand ce sera fait ;). J'ai tout de même une chose que je pourrais vous révéler : je travaille sur un article concernant la programmation en assembleur PowerPC sous AmigaOS 4. Je ne sais pas quand il sera prêt, mais j'espère bientôt (dans quelques mois).

- Quand allez-vous implémenter l'AltiVec dans Petunia ?

Je ne vois pas un besoin réel d'AltiVec dans l'émulation, car celle-ci n'a pas besoin de parties avec des calculs périodiques, à part quelques optimisations dans l'exécution de la translation et de la copie de la mémoire. Je verrai plus tard si un code machine avec SIMD pourrait être utilisé.

- Est-ce difficile (ou simplement possible) d'implémenter une vraie gestion de l'AGA pour Petunia sur Amiga Classic afin de faire tourner un jeu AGA dans un environnement logiciel protégé par Petunia ?

Sommes-nous sûrs d'avoir encore besoin de cette bidouille pour l'émulation de l'AGA ? Combien de programmes en ont besoin ? Je ne pourrais en nommer que quelques-uns qui pourraient valoir la peine d'être lancés depuis le système plutôt que par UAE (par exemple Brilliance). Mais je pense que la création de correctifs pour ses programmes ou le développement des solutions spéciales (comme l'a fait Stephen Fellner avec LightWave) seraient probablement plus faciles. Mon travail se concentre sur l'émulation uniquement logicielle du processeur et non sur une gestion complète du matériel. Les dépendances liées aux circuits spécialisés d'un programme AGA sont difficiles à combler. Vous savez probablement qu'il n'y a pas d'approche "bac à sable" sur AmigaOS 4 pour les anciens programmes, donc pour un programme qui voudrait sortir/arrêter le système, cela ne fonctionnerait probablement pas. Cela dit, beaucoup de vieux jeux fonctionnent déjà. Il n'existe qu'une façon de faire fonctionner la plupart des vieilles applications : utiliser UAE. Vous pouvez utiliser une version native d'UAE pour AmigaOS 4, et cela fonctionne bien. A mon avis, 90-95% des programmes 680x0 respectueux du système fonctionneront avec Petunia, mais j'espère que vous pourrez le voir par vous-même.

- Quelles sont les instructions et les procédures les plus faciles à émuler pour Petunia ? Quel code optimisé pour processeur est utilisé ici par Petunia ?

Le code optimisé pour les 68040/68060 peut fonctionner plus rapidement que ceux pour les autres processeurs de cette famille. Quelle est l'explication derrière ce fait ? C'est très simple : il y a un certain nombre d'instructions complexes qui ne sont pas gérées par l'architecture 68040/68060, donc l'optimisation du code passe par un autre chemin lors de la compilation. Il peut y avoir un problème mineur avec la modification des fichiers : Exec ne signale que les 68020+FPU pour les applications, certaines personnes pourraient donc penser que le code 68040/68060 ne peut pas être appliqué, mais les deux émulations (interprétée et dynamique) sont préparées pour les architectures 680x0 supérieures.

Cette limitation a été introduite en tant que marge de sécurité, certains programmes non respectueux du système en demandent trop au processeur, et cela entraîne une utilisation de la MMU, une mauvaise utilisation de la structure de pile du FPU ou tout ce que le programmeur pense être sûr. Nous essayions d'éviter cela avec Petunia, même si cela n'est pas vraiment nécessaire.


[Retour en haut] / [Retour aux articles]