Voici une première sur AmigaImpact, enfin de mémoire de BatteMan : une entrevue avec un développeur Amiga, ici matériel mais pas que en la personne de Claude Schwarz, créateur du
PiStorm !
Un grand merci à
Bob1969 pour avoir mené cette interview et pour la partager avec nous, et merci à
Claude qui s'est prêté au jeu des questions/réponses.
Entrevue avec Claude Schwarz
Créateur du PiStorm
Bob1969 : Qui êtes vous ? Un ingénieur, un amateur, un passionné ?
Claude : Je suis un amateur mais je travaille comme ingénieur en Électronique depuis 20ans.
Bob1969 : Quel est votre relation avec la communauté Amiga ?
Claude : Hmmm question difficile :) J'utilisais l'Amiga quand j'avais 12 ans. Mon premier Amiga était un A500 que j'ai reçu de mon père qui venait de s'acheter un A2000. J'utilisais l'Amiga principalement pour jouer. Mais à un moment, mes amis se sont tournés vers le PC et j'ai suivi. J'ai laissé de coté l'Amiga bien longtemps mais, en 2018, j'ai vu la Vampire V600 et j'ai immédiatement pensé : "Je veux cela aussi".
Bob1969 : Comment vous est venu l'idée du PiStrom ?
Claude : J'ai acheté un A600 sur Ebay et commandé la V600. Durant l'attente de la livraison, j'ai commencé à acheter d'autres Amiga et cartes accélératrices (oui, je redevenais addict lol). Rapidement, après avoir reçu la carte V600, j'ai été invité par l'équipe Vampire à les rejoindre. C'est ce que j'ai fait et j'ai eu du bon temps pendant deux ans, aidant et testant des sources de code VHDL. Mais début 2020, j'ai pensé à quelque chose de différent.
J'ai donc commencé le projet PiStorm. C'est une idée que j'avais depuis longtemps : utiliser une mini-carte CPU pour émuler un 68000 dans son emplacement physique.
Bob1969 : Quel sont les principales difficultés pour connecter le GPIO au socket du 68000 ?
Claude : C'est les timing. Le 68000 n'est pas un processeur rapide mais les signaux ont besoin de respecter les timings très prècisement. À cause de cela, nous utilisons un circuit CPLD/FPGA qui synchronise et reçoit les signaux du Raspberry Pi via le connecteur GPIO. Cela soulage le travail du Raspberry. C'est un Altera MAX2 CPLD.
Bob1969 : Quelle ressources du Pi seront utilisable par la partie Amiga ?
Claude: En premier, c'est l'émulation du CPU 68k via la techno
Musashi (utilisé par MAME). Une partie de la mémoire du Pi sera utilisable par l'émulation CPU. Certainement 256 Mo (cela sera variable en fonction du Pi utilisé). Ensuite le systême graphique RTG. La mémoire RTG est aussi directement adressable par le CPU émulé, comme la RAM du Pi est très rapide, le systême RTG est bien plus rapide que les cartes graphiques (Zorro II, III) conventionnelles.
Ensuite il y a deux stockages dont un pour l'émulation de Gayle IDE qui permettra de booter directement sur un disque émulé avec une ROM 2.x ou +. Plus tard, une émulation complête du SCSI sera ajoutée. L'émulation SCSI évite le goulet d'étranglement de l'émulation de l'IDE par GAYLE. Cela rendra possible le boot en SCSI avec l'utilisation de kickstart standard. En outre, les ROM kickstart pourront être utilisées depuis la carte mère Amiga mais aussi comme un fichier depuis le Raspberry Pi.
Bob1969 : À quelles performances vous attendez-vous ?
Claude : Les parties les plus avancées ont été programmées par
Bnu (célèbre pour son travail sur la NES et qui travaille aussi sur la fabuleuse carte RTG ZZ9000).
Actuellement, la performance est entre 15 et 18 MIPS, ce qui est équivalent à un 68030 à 60Mhz. Mais nous prévoyons d'aller plus loin.
Bob1969 : Cela va dépendre du Pi utilisé ?
Claude : Oui, la version actuelle est très optimisée pour Pi3. Les futures versions le seront pour le Pi4 et le module Pi4.
Bob1969 : Combien de temps avant de passer en version 1.0 ?
Claude : Il y a des bugs sur lesquels nous travaillons actuellement. Beaucoup se sont sur les timings et IRQ. L'Amiga est parfois exigeant... Quant à la version 1.0 ? Bonne question. Je dirais que le voyage vers la 1.0 est une partie intéressante, mais cela va prendre du temps.
Bob1969 : Après la validation du prototype, envisagez-vous une production en série ?
Claude : Non, L'idée fondamentale du PiStorm est qu'il soit gratuit et ouvert. Le
hardware n'est pas très compliqué. Des amateurs chevronnés peuvent le fabriquer eux-mêmes. Pour les autres ou les paresseux comme moi, les plans sont publiés et les fichiers sont prêts pour être envoyés dans une usine chinoise. Donc l'idée est de transférer les fichiers vers un PCBA maker (ici JLCPCB) et de récupérer un PiStorm pour 15 EUR. Seuls le socket 68K et le GPIO sont à souder mais je pense que les Amiga fans ont déjà utilisé un fer à souder.
Bob1969 : Pourquoi l'usine chinoise ne pourrait-elle pas souder cette partie ?
Claude : Oui, l'usine assemble aussi. Ils font les soudures de tous les composants SMD. Ils pourraient le faire probablement aussi mais je n'ai pas encore essayé de les laisser souder les sockets et pins.
Bob1969 : Dernière question : comment voyez-vous évoluer ce projet dans le futur ?
Claude : la prochaine étape est d'ajouter une petite carte (
opensource aussi) pour rendre possible la sortie audio et vidéo de l'Amiga via la prise HDMI qui sort déjà les écrans RTG. Puis nous planifions le projet Pistorm2 qui ciblera les Amiga 32 bits comme l'A1200, CD32, A3000, A4000 en utilisant le nouveau "Compute module" du Pi4. En parallèle, il y a des travaux utilisant le PiStorm sur d'autre ordinateurs a base de 68000 comme l'AtariST, le Mac 68k et le Sharp X68000, qui est une plateforme très intéressante pour le PiStorm.
Le projet Pistorm est possible uniquement grâce à la participation de plusieurs personnes. Sans leurs contributions, il serait resté à 2 MIPS et ne booterait que sur les disquettes. C'est pourquoi je veux remercier
Bnu,
Nilklas,
Shanshe,
ShK,
Flype et tout les autres personnes du PIdiscord. Ah, j'oubliais ! Nous travaillons aussi sur une version A2000 CPU slot et A600. Et le site espagnol
Retrowiki.es a déjà réalisé sa propre version du PiStorm pour eux-mêmes.