Infos sur la Vampire (suite)
-
mikedafunk
Messages : 4552
31 juillet 2022 à 11h44 #367998
Au début de ce fil (et surtout le premier qui a précédé car saturé), il y avait des utilisateurs de vampire qui partageaient leur expérience. Les non utilisateurs pouvaient leur poser leurs questions, leurs remarques etc.
C’était ma fois très bien, on y apprenait des choses etc.Oui.. tu parles des débuts, des bêta avec Igor, des soirées irc à debugger, mettre au point les outils, les démos. Bref, de l’époque Vampire.
C’était sympa oui, il y avait de la nouveauté (cores) toutes les semaines, voir tous les jours. J’en étais aussi, souviens t’en (ou fouilles au fond du cercueil). Ça partait dans tout les sens. Le génie était partout. Les gens étaient libres. Les vidéos sur yt pleuvaient.
Mais ce temps là n’est plus. Fini les Vampires. Maintenant c’est l’ère IceDrake, EagleFire et Manticore, bref l’ère
NatamiApollo-core et une gestion très “spéciale” des développements indépendants.Les temoignages ou videos sur yt ont diminuée car il n’y a plus vraiment de nouveauté par rapport au début.
GothDevil te l’a aussi expliqué un peu plus haut. Je ne sais pas pourquoi tu ne le comprends pas.
Mais je comprends pourtant ton désarroi, j’avais le même. Cependant plutôt que de tirer sur l’ambulance, l’ai choisi de me moquer des péripéties de cette wannabe ze future ov ze amiga-ng dans la fuite en avant et hyper marketing permanents à vouloir résoudre des problèmes dont personne ne se plaint, pendant que d’autres font avec un hw et un soft-core opensource une carte qui suscite le plus d’intérêt du moment.
Allez je vais te rendre heureux avec les prouessses et meilleurs demo ou jeux à venir utilisant les nouveautés Maggie, ou Saga
Moi je dis c’est bien, surtout pour l’âge du développeur, mais ça n’à pas l’effet whaou qu’on avait… avant avec les demos de Flype par exemple.
Ce temps là n’est plus. Il faut s’y résoudre. L’intérêt est ailleurs à présent je pense. Le lien est la page yt d’un ancien gars très présent dans le projet vamp. On voit bien le switch d’intérêt il y a 2 ans environ. C,est à dire quand il a été décidé de switcher tout sur la solution à base de v4 + Aros, en abandonnant l’os amiga, Igor et les revendeurs Amiga installés, bref tout pour la shop avec un truc qui n’est plus de l’amiga.
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)Merci pour les vidéos sam, j’ai eu la chance de voir gunnar et son fils coder Menace à la ouf party
D’ailleurs les gens de la Team avaient l’air contents (tu vas me dire logique), dommage qu’ils n’interviennent plus ici.
Pour info j’avais joué à un de mes jeux préférés deluxe galaga avec l’un d’eux qui ne parlait pas français. Super sympa, je ne les avais jamais croisés lui et sa femme. Les 1200 étaient magnifiques, les coques neuves du plus bel effet.
Sinon oui j’ai vu la vidéo du Pistorm, projet libre qui est super intéressant.
Voilà, un peu d’optimisme, ça fait du bien!
=> se moquer ça n’apporte rien, au contraire ça démolitGarde cette direction stp 😉
Comment se programment ces cartes ? Directement sur le matériel, ou bien quand même possibilité d’éditer sur une machine tierce et cross-compiler ?
À l’époque (deux ou trois ans en arrière) j’avais demandé à Toni Wilen si il comptait émuler 68080, SAGA… il m’avait répondu qu’il n’y croyait pas, mais que si un jour tout ça se stabilisait, pourquoi pas. Mais qu’auparavant, il faudrait arrêter de dégouter les dévs du produit, et leur fournir un vrai environnement de dev.
Le problème de la poule et l’œuf en somme. Je ne sais pas si ça s’est amélioré de ce côté là, d’où ma présente question.@Modulo : Vs m’arrêtez si je me trompe mais quand j’avais posé la question on m’avais répondu qu’il n’était pas question que la team travaille sur le coté ‘logiciel’ de la carte.
Eux ils mettaient à dispo un hardware, point.Je ne sais pas si ça à changé, j’imagine que non ce qui est, je trouve dommage et illogique pour un lancement de produit.
Le mieux serait au minima un partenariat avec des studios de dev et fournir une floppé de tools.Ca fait plaisir de lire des petites histoires drama sur l’amiga. Ca donne un petit peu de vie.
Moi perso, je lorgnerai bien sur une standalone, mais je vois qu’ils ont l’air plus concentré sur des cartes accélératrices maintenant. Il faut avoir confiance en sa carte mère pour avoir encore envie de plugguer un truc neuf sur du vieux.
Quoi qu’il en soit, la standalone n’est toujours pas équipée d’un port floppy. Il n’y a que ça qui me laisserait tenter pour du nouveau matos.Bah c’est du matos compatible amiga 680×0. Donc tu ressors ton vieux compilo amiga et c’est fini. Ah? Tu veux utiliser saga et AMMX en C. Bah je t’aurais dit d’utiliser une bibliothèque officielle de la team, mais ça n’existe pas. BigGun n’est pas fan de l’abstraction logicielle. Donc pour lui il faut tout coder en asm à la main pour tirer parti des possibilités de la machine dépassant l’amiga standard.
Il n’existe qu’un seul asm connaissant les instructions Ammx: VASM. Attention, il n’est pas forcément à jour (nouvelles instructions de Maggie etc), et même buggé parfois, il faut être proche du concepteur du core pour détecter les problèmes d’encodage des opérations mélangeant les registres 680×0 et ceux ac68080 (faut aimer passer son temps sur Discord avec un type qui est très invasif sur ton projet). Pour ces cas là il faut ajouter des dc.w dans le code asm avec le code binaire de l’instructions qu’on souhaite utiliser. Bon là encore on peut se tromper dans l’encodage et il n’est pas evident de retrouver son erreur. L’ideal c’est d’utiliser des macro. Pour les operations registres à registres 68k, c’est faisable. Mais pour les opérations entres regs 68k et regs étendus (B0….B7, E8…E24), ou avec des modes d’addressages complexes, ça ne marche pas bien. Du coup on se restreint un peu à utiliser les instructions nouvelles un peu partout. Il faut faire cela dans les routines centrales qui prennent l’essentiel du temps.
Mais pour savoir cela il faut savoir bien utiliser un profiler amiga, et en trouver un qui marche surtout. Sinon le ac68080 a un compteur de cycles qu’il est possible d’utiliser pour savoir si on a bien programmé son ac68080, en particulier au niveau des goulets d’étranglement bloquant les pipelines.
Ah oui car j’ai oublié de dire qu’il ne faut pas écrire de l’asm comme sur 68000. Il faut écrire de l’asm superscalar. C’est à dire avoir mélangé dans le code le fil d’execution de plusieurs bout indépendant de ton programme. Le point important ici est l’independance, car sinon tu bloques l’un des 2 pipeline et effondre les perfs de l’ac68080.
C’est un exercice de style à faire. Je l’ai fait à de nombreuses reprises pour aider les codeurs pure C comme Arti ou Marlon qui portaient des jeux sdl pour la vamp et avaient des perfs de merde au départ (diablo2 en est un bel exemple).
C’est sympa un moment quand on a beaucoup de temps devant soit, mais à force ça devient fatiguant. Il faut parfois revoir la logique même du jeu pour organiser des trucs pour que ça marche mieux sur le ac68080. Or quand on te refuse le push-request sur la branche officielle du jeu que tu portes car tu ajoutes un truc spécifique à une obscure plate-forme sur un source portable, et bien ta prochainne mise à jour avec le tronc te créera des tonnes de conflits partout qu’il faut comprendre defaire, refaire, etc. Bref fatiguant. Ce qui se passe alors c’est que tu repars en arrière et ne prends plus aucun update de la source. Ton jeu porté s’est séparé du tronc et n’intégrera plus les bugfix et évolutions de la branche centrale. C’est une prouesse, mais isolée et qui n’evolue plus.
–On peut cesser de lire ici car après c’est long et chiant. .oO(oui avant aussi, ce sont les réflexions techniques d’un vieux schnock devenu trop vieux pour ces conneries)–L’idéal serait que le compilo C gère de façon transparente les optimisations bas niveau type SIMD que permet le ac68080. Comme ça bah plus besoin de patcher l’asm avec des dc.w, ou reorg le source. L’optimiseur du compilo fera le taff pour nous. Hélas aucun compilo 680×0 ne sait faire cela.
Il y a eu quelques tentatives avec le gcc de Bebbo mais la communication avec Gunnar sur les specs n’étaient pas facile (ils sont pourtant allemands tous les deux). Il s’est même fâché contre lui à un moment (autour de la fin de cette page) et n’a plus posté après.
Il paraîtrait qu’il y aurait un vague fork de ce gcc ac68080-aware pour compiler AppoloOs… mais j’ai des doutes. Le taux de légendes urbaines me semble assez élevé autour des prouesses des compilo 68k.
En effet les compilo autres que 68k, bref les gcc et autres icc (compilo intel) pour x86 font un très très bon boulot d’optimisation. On croit alors que puisque les compilo modernes optimisent bien, le compilo moderne pour 68k optimisera pareil. C’est une erreur. La branche 68k de gcc est morte depuis sensiblement 15ans (elle a même failli disparaître). Les optimisations modernes ne concernent pas le 68k.
Le problème est même plus profond que cela en vrai.
Les compilos optimisent bien surtout en utilisant le SSE. Mais en MMX ils n’étaient pas top. Le MMX a été dans l’histoire du computing un échec très vite remplacé par des instructions mieux pensées, plus utiles en pratique. Or nous on a que le AMMX comme modèle de reference.
Vous sentez le souci? Et bien c’est pire….
Quand on ose demander au concepteur du core des trucs qui seraient plus pratiques que certaines instructions AMMX pas utilisées…tiens par exemple celle qui prends 3 registres 64 bits les découpe en 3 vecteurs de 8 entiers 8 bìts, calcule la moyenne des deux premiers vecteurs et met le résultat dans le 3e registre (instruction PAVGB). C’est une instruction tellement ad-hoc qu’aucun compilo n’est capable de l’utiliser. On aimerait plutot un truc fréquent genre un MAD parallèle plutot (ça prends 3 registres aussi, en multiplie 2, et ajoute le résultat au 3e). On se reçoit un enorme refus(*).
____
(*) Il faut dire que cette instruction se rapproche trop de celles qu’on pouvait faire avec l’altivec sur PPC. Et ça, un truc de PPC dans un cœur appolo, c’est nein. Jamais! BigGun bossait sur les architectures Power chez IBM dans le temps. C’est sans doute un sentimental qui ne veut plus revoir des trucs de son ex travail, ou quelque chose dans le genre.On se voit alors expliquer que si on a besoin de ça c’est parce qu’on ne sait pas bien coder (tu parles!). Que la logique du code n’est pas bonne. Il faut modifier le source pour aboutir à un truc adapté au AMMX. Bla bla. Sauf que c’est juste le genre d’instruction qui a traversé le temps, s’est rendue utile partout, et est très bien exploitée par les compilos.
Bref en s’obstinant dans une techno qui fût une impasse, en refusant de choisir des instructions vraiment utiles aux compilos, on s’enferme dans un truc qui ne peut plus evoluer. On ne peut ainsi pas développer toute la puissance théorique du bestiaux à partir des langages de haut niveau.
Alors oui en asm, et en étant proche du concepteur du core (coucou Papa!), tu peux faire vrombir le ac68080. Mais ca concerne très très peu de monde.
Et puis comme l’asm n’est pas adapté aux trucs important ayant besoin d’abstraction de haut niveau, tu arrives tout juste à faire un space invaders. Oui pas mieux que ce qu’on faisais sur les 8 bits quand nous étions jeunes nous aussi. Seuls change la quantité de ram pour les assets devenus énormes à présent.
Et puis bon toute la puissance relative du bestiau, c’est certes très ronflant, mais surtout très relatif. En effet, Emu68 sur PiStorm en développe lui même au moins 4x plus. Cela permets aux portages de jeux open source dont je parlais plus haut de marcher de façon très fluide sans passer des mois à récrire en asm 68080 les parties critiques.
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)@seg etant donné ce qu’il s’est passe avec les v1200, je me méfierais de la v4sa. Du jour au lendemain la team peut stopper une carte s’ils n’arrivent plus à se sourcer ou s’il y a des bisbilles internes. Le cyclone4 commence a se faire vieux… bon, nous aussi 😉
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)Pour clarifier, je ne demandais pas un compilo C qui sorte du code optimisé avec les nouvelles instructions 68080 / AMMX, ou qui soit capable de faire de la vectorisation.
Même les compilos « à jour » sur x86 sont très médiocres sur ce point (génération SIMD). Par exemple en C, une fonction de recherche telle que strcmp n’est pas optimisée. Il faut passer par des design patterns C++ pour avoir une optimisation correcte, à condition de rester dans un schéma très précis: tu oublies tout ce qui tourne avec une boucle classique, et tu te retrouves à utiliser uniquement des itérateurs + std::xxx par exemple (ce qu’il faut d’ailleurs faire en C++, les boucles ,c’est terminé).
Donc même sur x86, quand tu sors du cadre, tu n’as rien de bien folichon, quand bien même avec -O3 et -march + tous les flags AVX 🙂Donc je demandais simplement un cross-compiler décent avec éventuellement un débugger CPU (oublions le rendu), voire une sonde pour mettre la vampire en pas à pas. Ça me parait raisonnable avant de réécrire la libc.
Mais là, je crois qu’on touche le problème classique électroniciens vs informaticiens. Chacun dans sa sphère. Et quand il y a intersection, elle n’est que partielle et mâtinée d’incompréhension mutuelle. Alors quand en plus le chef de projet est bouché à l’émeri…
Ben comme je l’ai dit dans mon laïus indigeste plus haut tu as le cross compilo gcc de Bebbo qui connait le 68080. Mais le ammx est un jeux d’instruction pas terrible pour les optimisations par compilateur. Donc je pense pas que ce soit exploitable. Le seul truc qui pourrait bien booster les perfs sont le scheduling des instructions par le compiler pour éviter les bulles dans les pipelines. Hélas c’est autour de ca que Bebbo a plus ou moins stoppé les discussions avec BigGun. Mais grace à l’open source on peu voir s’il a continué les améliorations specifiquement 68080 quand même…
En tout cas rien de neuf sur son site (https://franke.ms/) pour amiga depuis longtemps. Sur son github, la modification la plus récente parlant de 68080 remonte à février 2021. Ça touche l’evaluation des coûts des instructions pour produire un code qui marchera plus vite sur les variantes 68080 du cpu. Pas de ammx là dedans.
Donc à tester si ça change quelque chose entre des optims dew différents 680×0 sur son explorateur.
Sinon pour le SIMD en C de façon portable j’utilise l’extension vector de gcc: https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
C’est peut être ce qu’il te faudrait?Sinon sur x86, pour accéder aux mmx et autres sse, avx et compagnie en c, il faut passer par les intrinsics: https://en.m.wikipedia.org/wiki/Intrinsic_function. Je l’utilise, ca marche bien. C’est ce qu’il faudrait à gcc pour exploiter le ammx en C, mais il faut des registres 128bits mini (type __m128i), or ammx c’est juste sur du 64bits déjà présent dans le C standard (long long).
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)Tu sera content Mike: un nouveau jeu par la team va bientôt sortir.
http://www.apollo-core.com/knowledge.php?b=1¬e=38758
Il semble que la team sorte plus facilement des jeux qu’elle ne corrige les défauts de compatibilité sur les jeux Amiga. Mais si ça rend content ceux qui ont une vamp par procuration, comme Mike, je suppose qu’il faut se réjouir
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)Miam une news intéressante sur la vampire, merci sam !
Promis, dès que je rentrerai de métropole (Je suis en Guyane un an ), je chercherai une carte vampire pour mon 1200 et un PIstorm pour mon 500 😉
Je viens de créer un sujet pour les passionnés des cartes vampire, j’aimerais tant que des membres de la team appolo viennent y poser des mots, cela me rappellerais les tout débuts d’un certain threadIl semble que la team sorte plus facilement des jeux qu’elle ne corrige les défauts de compatibilité sur les jeux Amiga. Mais si ça rend content ceux qui ont une vamp par procuration, comme Mike, je suppose qu’il faut se réjouir
Peso, possédant une Vampire V2 (à l’époque où les prix étaient encore abordables et ou les promesses fusaient, c’est dire si ça remonte) , et bien que je ne passerai pas (car on peut pas dire jamais) à la V4SA, je n’ai que faire des nouveaux jeux qui exploitent la carte, je préférerai que les bugs soient corrigés, que la compatibilité soit assurée, qu’on puisse interfacer un FDD.HDD, que tous les claviers fonctionnent, idem souris etc etc avant de faire des jeux dédiés à cette carte. Un énième Tetris (like), ou un doom, ou jeu déjà existant depuis des années sur d’autres machines qui coûtent rien, bof.
Je trouve ça un peu “léger” en tout cas. Au risque d’encore entendre que je suis négative, je suis désolée mais c’est une réalité pour moi. C’est un peu comme acheter le dernier poêle à bois qui vient de sortir, qui a une option faire le café, se nettoie tout seul, dit bonjour merci et au revoir etc mais pour lequel, le stock de 10 stères de bois qu’on a en réserve ne rentre pas dedans. Pour pouvoir en tirer parti il faut un bois spécial qu’on ne trouve qu’en petite quantité… quand il y en a de dispo. Tordu comme image je vous l’accorde mais ça me fait penser à ça en tout cas.Faire revivre l’Amiga au travers d’un nouvelle carte c’est au moins vendre un truc qui fait tourner la logithèque existante avant de s’attaquer au reste. Ouf pour ça il y a le Mister.
@GothDevil
+1 je n’ai que faire des jeux ou de l’os de la team. Ce sont des pertes de temps. J’attends autre chose d’eux.
Je ne veut pas de leur amiga du futur avec Aros et des tas de features incompatibles avec les anciennes cartes. Je ne veux pas de jeux qui ne marchent que sur des v4 en oubliant les autres amiga accélérés (les vrais cartes Vampires par exemple).
Je ne veux plus de l’adressage bare-metal Saga ou de la 3d sans abstraction logicielle proprement documentée. J’ai trop perdu de temps avec ca. Il y a bien d’autres choses á programmer que de demander des infos sur Discord, ou étudier les programmes asm des autres pour comprendre les trop nombreuses choses implicites des explications “sur discord”.
.oO(J’ai connu les début de l’amiga, et il y avait de vraies docs et application programs détaillant les features du chipset.)
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Matériel › Infos sur la Vampire (suite)