|
|||||||||||||||||||||||||||||||||||||||||||||
|
Aujourd'hui, nous avons l'honneur d'accueillir Kari-Pekka Koljonen, développeur de HippoPlayer, l'un des lecteurs audio les plus populaires de l'Amiga. ![]() Je travaille comme développeur de logiciels, ce que je fais depuis de nombreuses années déjà. J'habite à Tampere, en Finlande, près d'une grande forêt et de quelques lacs. Ma famille se compose d'une femme.device et de deux enfants de 11 et 12 ans. En plus d'essayer de maintenir la famille en vie et la maison habitable, j'aime faire de l'exercice physique. Aujourd'hui, je fais surtout de la gym, de la marche et du VTT. Dans le passé, j'ai également pratiqué les arts martiaux. Parfois, je bricole avec l'A1200, généralement en regardant des démos ou en faisant des tests, en jouant à des jeux sur le C64 et en faisant de la programmation Amiga sur mon ordinateur portable. J'écoute surtout du heavy metal et j'aime les films d'horreur et de science-fiction. ![]() J'ai eu un C64 vers l'âge de 9 ans et j'ai joué à des jeux avec. J'ai aussi fait un peu de programmation de base. Puis, quelques années plus tard, un ami a acheté un A500. J'ai joué à Hybris, Garrison, Backlash et Gauntlet et j'ai été subjugué. Ces jeux avaient un son et des graphismes incroyables. Je me suis dis que je devais moi aussi avoir un Amiga, et finalement, avec l'aide de mes parents, j'ai obtenu un A500 avec Kickstart 1.2. Je me souviens avoir démarré le Workbench et m'être émerveillé. J'avais quelques disquettes Fish je crois, et la démo Juggler. Plus tard, j'ai copié des jeux et des démos. Je ne me souviens pas du premier jeu auquel j'ai joué sur mon A500. ![]() L'A500 avec Kickstart 1.2 a reçu une extension de 0,5 Mo et un lecteur de disquette supplémentaire. J'ai ensuite manipulé mes parents pour qu'ils m'achètent un A590 avec un disque dur de 20 Mo, ce qui était relativement abordable à l'époque. Cela ne fonctionnait pas sur mon A500, probablement parce que j'avais versé du jus dessus et que certaines connexions n'étaient plus tout à fait fonctionnelles. Même le réparateur n'a pas pu m'aider. J'ai donc dû acheter un autre A500. Celui-ci fonctionnait avec l'A590 et c'était génial d'utiliser un disque dur à la place des disquettes. J'avais un double démarrage avec Kickstart 1.3 et 3.1. Je l'ai ensuite équipé de 2 Mo de mémoire Fast et d'un processeur 68010. J'y ai ajouté un module de 1 Mo de mémoire Chip. Il était plus rapide qu'un A500 de base et j'en étais assez satisfait. Jusqu'à ce que les nouveaux Amiga AGA arrivent et que j'en veuille vraiment un pour pouvoir lancer les démos AGA et faire de la programmation AGA. A ce moment-là, Commodore était déjà en faillite et j'ai dû acheter un A1200 d'occasion, ce qui, je m'en souviens, n'a pas été une tâche facile. J'ai aussi acheté une carte accélératrice 68030 à 28 MHz et une extension de mémoire de 4 Mo, car l'A1200 n'était pas très bon sans aucune extension. J'ai acheté un moniteur Eizo multisync de 14" avec les revenus de mon petit boulot d'été, ce qui m'a permis d'afficher correctement les jeux, les démos et l'écran haute résolution du Workbench. Vers l'an 2000, j'ai cessé d'utiliser l'Amiga. Puis, bien plus tard, mon A1200 a été révisé et j'ai remplacé le disque dur encore fonctionnel par une carte mémoire, et j'ai ajouté une carte TF1260. J'ai également acheté une carte PCMCIA Ethernet à un moment donné pour la connexion Internet. J'ai aussi gardé l'A500/Kickstart 1.2 et quelques trucs du C64. ![]() La programmation. Au début, je jouais aux jeux, mais j'ai rapidement commencé à programmer des effets de démo, car j'adorais regarder les démos. J'ai aussi appris à programmer le système, ce qui m'a été utile plus tard pour le développement d'HippoPlayer. J'ai fait beaucoup de petits utilitaires pour m'amuser (et aussi un virus, juste pour voir comment cela fonctionnerait). J'ai aussi écouté beaucoup de modules de musique, la plupart de mes disquettes étaient en fait remplies de modules. J'ai aussi composé mes propres modules en utilisant ProTracker, c'était amusant mais les résultats n'étaient pas super bons. Je garde encore aujourd'hui ces vieux modules en sécurité. ![]() A l'époque, j'étais ami avec Guru, qui avait programmé PS3M, qui permettait de jouer des modules multicanaux PC sur Amiga en utilisant une table de mixage efficace. J'ai décidé de créer un bon lecteur de modules qui incorporerait également PS3M. J'aimais écouter des modules et je n'aimais aucun des lecteurs existants, donc ceci résoudrait deux problèmes. Je me souviens avoir voulu rendre HippoPlayer entièrement contrôlable au clavier. Si vous connaissez les raccourcis clavier, l'interface utilisateur peut être incroyablement facile et puissante à utiliser. D'un autre côté, il y a beaucoup de décisions d'interface utilisateur assez bizarres là-dedans, ça ne suivait pas vraiment le style Amiga. En raison de l'utilisation d'AsmOne, l'application principale a été compilée à partir d'un seul fichier source en assembleur d'une taille d'environ 450 ko. C'était un fichier volumineux et assez désordonné. C'est à ce moment-là que le développement original s'est arrêté en 2000. Aujourd'hui, le même fichier source principal pèse plus d'un mégaoctet ! Comme je disposais à la fois du Kickstart 1.3 et du 3.1 sur mon A500, j'ai voulu faire fonctionner HippoPlayer sur Kickstart 1.3, ce qu'il fait toujours. D'autres choses peut-être intéressantes :
![]() HippoPlayer 2.61 et 1.01 ![]() Avec quelques amis, nous avons formé un "groupe de démos" et nous avons trouvé ce nom, qui sonnait drôle et idiot. Le logo a été dessiné par un ami de ce groupe, et il s'est retrouvé dans HippoPlayer. L'artiste ne l'a probablement jamais su car il n'était pas très intéressé par l'Amiga à ce moment-là. ![]() J'ai utilisé AsmOne sur A500 et A1200, puis plus tard vasm avec FS-UAE sur mon ordinateur portable. ![]() Oui, je n'ai pas vraiment envisagé de me faire aider pour la programmation proprement dite. Il y a un canal Discord avec des gars de l'Amiga qui m'ont aidé dans d'autres domaines. Patrik (de l'équipe UHC) m'a aidé pour la gestion du réseau en utilisant son outil "aget". Erique a implémenté la gestion de SIDBlaster dans la playsid.library et a également corrigé d'autres problèmes dans cette bibliothèque. Spot/UpRough a été très actif avec des idées concernant les fonctionnalités, des tests, et m'a poussé à faire des choses. :-) ![]() Je pense qu'en termes de lignes de code, la gestion du lecteur d'échantillons a représenté beaucoup de travail à l'époque. Il est responsable de la lecture des formats IFF, WAV, AIFF, MP3 et de leurs variantes. Il y a beaucoup de conversions à faire ici, en fonction des données d'entrée. Un format de module possède un code de relecture écrit par l'auteur du format, de sorte que l'intégration de ce code ne pose généralement pas trop de problèmes, si vous disposez du code. Pour le format TFMX, je pense que j'ai récupéré le code de relecture depuis certains jeux où il était utilisé. Peut-être Hollywood Poker Pro. ![]() Pour l'instant, je n'ai pas beaucoup d'idées à proposer. ![]() Je me souviens surtout de DeliTracker et d'EaglePlayer, qui sont tous deux très impressionnants du point de vue de leur architecture. Ils sont très similaires. Mais du point de vue de l'utilisation, je ne les ai pas aimés. ![]() J'ai eu quelques conversations par courriel avec Peter Kunath de DeliTracker à l'époque. Je crois que je lui ai demandé de m'envoyer des routines de lecture pour certains formats, ce qu'il a gentiment fait. ![]() J'ai entendu dire que HippoPlayer fonctionnait sur AmigaOS 4 en PowerPC, mais pas sans problème. Je pense qu'HippoPlayer n'est destiné qu'à l'Amiga classique. Techniquement, c'est une application Kickstart 1.3. ![]() Il y a une liste de favoris que j'ai faite et qui est disponible dans le navigateur Web de l'excellent TAWS de Michael Rupp (https://hippoplayer.se) dans le dossier "Playlists". Si vous utilisez un Amiga avec réseau et HippoPlayer, la même liste peut être trouvée en allant dans la vue de recherche, en utilisant le bouton de basculement du mode liste et en sélectionnant "Shared lists" (listes partagées). Pour les tests, je n'ai pas de modules spécifiques, j'essaie simplement d'avoir un ou deux modules de chaque format géré. Je pourrais mentionner un module ProTracker appelé "the ultimate beeper.mod". Il n'a pas d'échantillons du tout, mais il produit quand même un son en corrompant la mémoire de façon intelligente. ![]() Je n'ai pas beaucoup fait de loisirs liés à l'informatique et que je me concentrais sur d'autres choses. Je me souviens avoir appris un peu Haskell et j'ai pensé que c'était un langage assez intéressant. Vers 2010, j'ai eu l'idée de refaire des effets de démos, car je me suis soudain demandé pourquoi je n'avais jamais réussi à faire l'effet "shade bobs" à l'époque. J'ai installé un émulateur et j'ai programmé un tas d'effets, y compris l'effet shaded bobs. C'était très amusant. C'était bizarre de m'apercevoir que je n'avais rien oublié de la programmation sur l'Amiga alors que j'avais fait une si longue pause. Je pense que j'étais aussi au courant de l'existence du site English Amiga Board, et je l'ai parfois visité et peut-être cherché des mentions d'HippoPlayer. Je me souviens que quelqu'un sur EAB s'est plaint que la liste de lecture ne pouvait pas contenir assez de modules, la limite étant d'environ 16 000 modules. Vers 2017, quelqu'un a demandé les sources de HippoPlayer, je les ai donc mises sur GitHub. En 2019 (d'après l'historique git), j'ai augmenté la taille de la liste des modules à environ 30 000, mais il n'y a pas eu de nouvelle version. Au printemps 2021, j'ai recommencé à bidouiller avec les sources, juste pour le plaisir. Je voulais faire en sorte que le multitâche interne fonctionne correctement car je ne connaissais pas grand-chose aux fils d'exécution quand j'ai créé HippoPlayer. Je voulais aussi supprimer les anciennes limites de taille des listes de lecture, ce qui a demandé pas mal de travail. C'est alors que Spot/UpRough m'a contacté et a commencé à me présenter des idées d'amélioration pour la gestion de nouveaux formats de modules. C'est alors que le projet a démarré. C'était amusant, et il semble qu'il y ait encore des utilisateurs intéressés. Je pense aussi qu'HippoPlayer est maintenant bien meilleur qu'avant. :-) ![]() Sormelus est parti d'une idée de faire un jeu simple autour de la vitesse de frappe. Il devait y avoir de la musique et des vecteurs bien sûr, ainsi que des effets sonores. Je l'ai récemment téléversé sur Aminet à des fins de conservation. C'est un jeu très stupide. Tankkk est né parce que j'ai joué au Tankkk version MS-DOS chez un ami. Il était sympathique mais mal implémenté. J'ai décidé de faire une meilleure version pour l'Amiga, aux alentours de 1993. Elle s'est avérée assez bonne et était prévue pour deux à quatre joueurs. En 2023, je l'ai essayé sur mon Amiga 500 avec Kickstart 1.2 et j'ai remarqué qu'il ne fonctionnait pas. J'avais laissé un bogue qui le faisait planter sur 68000 mais fonctionner sur 68020. J'ai corrigé cela et je l'ai retéléversé sur Aminet. Puis j'ai été contacté par Ztronzo d'AmigaLive, dont je ne connaissais rien. Il s'est avéré qu'il y avait encore des gens qui jouaient au jeu après toutes ces années, en utilisant AmigaLive, qui permet de jouer en réseau à des jeux Amiga classiques. Ce fut une grande surprise pour moi ! Ztronzo avait beaucoup de bonnes idées d'amélioration et il y avait aussi beaucoup de gens enthousiastes sur AmigaLive. De nouveaux décors et modules musicaux ont été produits de cette manière. Une grande amélioration récente a été la gestion d'un seul joueur pour que vous puissiez jouer contre l'ordinateur. Il gère maintenant jusqu'à sept joueurs simultanés. ![]() ![]() TankX ![]() Nous avons créé un groupe avec de vieux amis pour faire une intro, mais cela a progressé très lentement. Il y a un logo, de la musique et des polices de caractères, mais il manque encore des effets, ce que je devrais faire. :-) ![]() Cela me rend heureux de voir l'Amiga classique vivant et en bonne santé ! C'est vraiment incroyable, de nouveaux jeux, logiciels et matériels sont développés. ![]() Ils ne m'intéressent pas. Je pense que l'attrait de l'Amiga maintenant est de revivre les moments amusants du passé, ce qui peut être fait sur le matériel original et les versions originales (ou presque) du système d'exploitation. Sur l'A1200, j'ai mon bureau MagicWB original que j'ai installé dans les années 1990, c'est agréable de démarrer là-dessus. ![]() Rien ne me vient à l'esprit pour l'instant. ![]() Amusez-vous bien avec vos Amiga !
|