Amos Professional (X) AGA, c’est reparti !

Forum News Room Projets Amos Professional (X) AGA, c’est reparti !

  • Ce sujet contient 38 réponses, 9 participants et a été mis à jour pour la dernière fois par demether, le il y a 4 mois et 3 semaines.
  • Créateur
    Sujet
  • #98675
    AmiDARK
    • Level 2
    • Messages : 49

    Bonjour à toutes et à tous.

    Pour faire suite au sujet qui avait été initié en début d’année « Amos Pro X – C’est mal parti », suite aux déboires que j’ai rencontré avec François Lionet, je me devais de revenir ici…

    François Lionet a fini par revenir à la raison.
    Il a fini par remettre le code source de l’Amos Professional 2.0 sous licence MIT, ce qui avait été son choix initial (Lien vers la discussion de François Lionet le 26 Avril 2020 : https://www.facebook.com/groups/AmosPro/permalink/1156714481333217/ )

    IL l’a enfin fait de manière officielle avec Repository dédié : https://github.com/AOZ-Studio/AMOS-Professional-Official

    Du coup, j’ai décidé à ce moment là de reprendre le développement de l’Amos Professional AGA (X). J’ai aussi décidé par sécurité et au vu du passé, de conserver, pour l’instant, le code source en privé. Il sera mis en repository public quand j’aurais terminé le support de l’Aga ..

    Depuis, plusieurs choses ont été ajoutées dont :

    1. Une restructuration (presque complète) du projet… L’Amos Professional AGA utilise maintenant une AmosProAGA.library pour permettre à l’Amos Pro 2.0 et l’Amos Pro AGA de cohabiter et surtout, de ne pas casser les jeux développés avec l’ancien amos et utilisant la library AMOS.library.
    J’ai aussi changé les noms des fichiers de configuration en y adjoignant AGA dedans … L’objectif était de bien séparer la version 2.0 ECS classique et la version AGA pour que les deux puissent cohabiter sur la même configuration AMIGA.
    J’ai dû faire cela car maintenir la compatibilité ECS et AGA nécessitait pas mal d’ajout de conditions … et l’AMOS étant déjà pas une foudre de guerre niveau vitesse … Je voulais tenter de conserver le maximum de performances que possible.

    2. Le passage de la palette de couleur du mode RGB12 (Ancien ECS) au mode étendu RGB24 (Full AGA).

    3. L’ajout du HAM8 en Full RGB24 ( 8 Bitplans uniquement, iff en backups en 18 bitplanes 24 bits non compatibles pour le moment)
    Cela a nécessité de feinter l’AMOS et le System car le HAM6 utilise les bitplans 4 et 5 pour les données de contrôles (changement de couleurs hors palette initiale) et le HAM8 utilise les bitplans 0 et 1 … Résultat cela foirait complètement le rendu des couleurs via le systeme (L’Amos Pro utilisant l’OS Pour les rendus graphiques simples).

    4. Les banques peuvent Sauver/Charger jusqu’à 256 couleurs en 12 Bits (le passage en 24 bits est une étape très proche, la prochaine pour ne pas dire quand j’aurais fixé un petit défaut de couleurs (RGB12 lower bits) dans le copper list.

    Ainsi que plusieurs améliorations mineures … Le détail des mises à jours est sur le github des binaires Alpha/Beta que je mets à jour : https://github.com/AmiDARK/Amos-Professional-AGA-Releases/blob/master/NewsAndUpdates_BinaryVersion.txt

    Le site est toujours en ligne et est mis à jour de temps à autre (un peu fainéant sur ce sujet là lol :p ) :
    http://amos-professional-aga.frederic-cordier.fr/

    Voila.
    Je vous ai partagé la bonne nouvelle :)

    @+

Affichage de 15 réponses de 1 à 15 (sur un total de 38)

Partager sur vos réseaux sociaux préférés :
Facebooktwitterredditpinterestlinkedintumblrmail

  • Auteur
    Réponses
  • #98685
    Logo
    • Level 5
    • Messages : 171

    Félicitations d’avoir eu le courage de t’attaquer à ce sac de noeuds et surtout de persévérer. :good:

     



    #98745
    Staff
    Jim Neray
    • Level 21
    • Messages : 6471

    C’est mieux quand c’est reparti plutôt que mal parti je trouve ! B-)

    Bravo et courage pour ce long travail dans lequel tu t’es lancé. Je déplace ce sujet dans la zone « Projet » qui est destinée au porteurs de projets sur Amiga pour échanger sur les updates avec les utilisateurs.

    A500 - A500 Plus - A600 HD - A1200 - A2000 - A4000T - CD32 - C=64 - 1040STE - CPC6128
    Micromiga.com - La boutique Amiga

    #98763
    AmiDARK
    • Level 2
    • Messages : 49

    Salut,

    Oui, c’est mieux :)
    Et merci d’avoir placé le sujet dans la zone « Projets », il est vrai que c’est plus adapté :)

    Je penserai à venir mettre des informations d’évolution ici ;)

    @+

    #99024
    AmiDARK
    • Level 2
    • Messages : 49

    J’ai mis en ligne la première release ALPHA officielle de l’Amos Professional AGA (The X Project).

    Cette version commence à apporter un lot d’amélioration intéressantes concernant le support du chipset AGA dans l’Amos Professional.
    Une vidéo sur la chaine youtube du projet est en cours de préparation et devrait être disponible d’ici quelques jours pour détailler précisément ce qui est actuellement disponible concernant le support du chipset AGA dans l’Amos Professional.

    Cependant, quelques points peuvent déjà être portés à cette news :
    – La copper list gère maintenant les couleurs AGA en RGB24 complet.
    – Load Iff permet de charger des images en tenant compte du mode RGB24
    – Load Iff peut charger des images HAM8 en tenant compte du mode RGB24
    – La méthode « Double Buffer » et « Screen Swap » fonctionnent dorénavant jusqu’à 8 bitplans. Cela permet de commencer à jouer plus fluidement avec les sprites
    – Les bobs, icons et sprites gèrent maintenant une palette full RGB24
    – Les SPack et Unpack gèrent eux aussi une palette full RGB24
    – Save/Load de banques de sprites, icones, bobs, packed screen (Spack) gèrent elles aussi une palette full RGB24.

    Il reste encore pas mal de choses à mettre en place, mais l’Amos Professional AGA commence à être bien utilisable avec le chipset AGA et peut permettre de commencer à développer des jeux qui peuvent utiliser jusqu’à 256 couleurs en utilisant pleinement l’étendue de la finesse de teintes de la palette AGA

    Liens :
    Chaine Youtube de L’Amos Professional AGA (X) : https://www.youtube.com/channel/UCCfoSCwQe2RTd13Kh56v2Rw
    Release Alpha 0.200911 sur GitHub : https://github.com/AmiDARK/Amos-Professional-AGA-Releases/releases/tag/200911
    Site Officiel : http://amos-professional-aga.frederic-cordier.fr/?amos-professional-aga-x-version

    #99102
    Alain.Treesong
    • Level 5
    • Messages : 197

    Salut,

    Bravo. C’est vraiment super de pouvoir utiliser Amos en Aga. On profite en plus du 020 donc l’éditeur est bien plus réactif (j’utilise effectivement l’éditeur officiel…).

    J’ai essayé quelques exemples simples et cela fonctionne correctement.

    Par contre, sur des exemples un peu plus élaborés,  j’ai eu quelques soucis.

    Je suis conscient que c’est une version alpha mais voici quand même une petite description du pb :

    J’ai un progamme avec une image compressée sur la banque 8. Le source contient l’instruction unpack 8 to 1 qui décompresse donc une image 320x256x32 couleurs. D’abord premier problème, quand j’ai chargé le source, l’instruction unpack est apparue avec un problème d’encoding empêchant l’exécution.

    Lorsque j’ai réécrit l’instruction (unpack 8 to 1), le code se lance mais j’ai un out of memory au moment de l’éxecution de l’instruction (config 1200 : 2mb chip + 4mb de fast).

    Autre chose, Amos OCS permet de charger une image iff dans un écran plus petit : par exemple je peux charger une image 320×200 dans un écran 320×160. Amos tronque l’image. Ce comportement par défaut est intéressant. Peut être peux tu le reprendre ?

    Lorsque je sauve un code Amos existant avec AGA, il n’est plus rechargeable dans Amos OCS y compris s’il n’y a pas d’instruction nouvelle. Dommage. Peut être une compatibilité est faisable ?

    Merci encore pour ton travail.

    A+

    Aghnar

    #99115
    AmiDARK
    • Level 2
    • Messages : 49

    @Alain :
    Merci Alain pour ton retour.

    1. Le problème de la méthode Unpack est lié au fait que j’ai inséré une command SPack dans la librairie AMOSPro_Compact.lib du coup la tokenisation du code source, s’il contient déjà cette méthode est cassé pour cette méthode là uniquement. A Remplacer par Unpack manuellement.

    2. Concernant le Unpack, la rétro compatibilité avec des images qui ont été packées avec l’Amos Professional Classics (que tu appelles ocs, je préfère le mot Classics) n’est pas assurée. Mettre à jour l’Amos Pro en AGA m’a obligé à réaliser beaucoup de modification en interne (notamment sur les données dans les banques de mémoire, dans les copper list, etc…). Conserver la rétro-compatibilité aurait pris beaucoup plus de temps et augmenté grandement la taille des fichiers .lib et .library et l’AMOS si je voulais éviter de perdre en performances. J’ai préféré du coup faire scission entre l’Amos Professional Classics et la version AGA. C’est la raison pour laquelle tu peux constater que la version AGA utiliser l’AmosProAGA.library et non plus l’AMOS.library. Que les fichiers de .lib sont dans APSystemAGA et contiennent AGA dans leur noms pour certains (partie des modifications pas encore complètement terminée) et que les fichiers config de l’éditeur et de l’interpréteur contiennent eux aussi AGA dans leur nom. Cela permet d’avoir à la fois Amos Professional Classics et Amos Professional AGA qui tournent sur la même machine sans cause de conflits.

    3. Pour l’histoire de tronquer les images, je n’ai rien changé aux routines de décompression de l’IFF de l’Amos Professional Classics, en ce sens, j’ai juste ajouté jusqu’à 8 bitplanes et la détection du Ham8…. La méthode devrait fonctionner comme l’ Amos Professional Classics (mais uniquement sur des images qui ont été compréessées sur l’Amos Professional AGA).

    4. Pour le code source AMOS Professional AGA ne se chargeant pas dans l’Amos Professional Classics. Non je n’ai pas prévu cela et justement, avec la scission c’est plutôt fait exprès. Quel est l’intêret de charger un code source qui gère du 256 couleurs avec des images en 256 couleurs sur une machine ne pouvant en afficher que 32 ? Personnellement je ne veux pas que des utilisateurs expérimentent des fonctionnements aléatoiers ou anormaux en faisant fonctionner quelque chose sur un support non prévu ou plusieurs erreurs surviendront .. Par exemple si on ouvre un écran 256 couleurs sur l’Amos Professional Classics, etc… (surtout que certains seraient capables de croire et de dire que c’est la faute à ma version AGA …)

    Voila.

    En tout cas merci pour tes commentaires et retour. J’espère avoir répondu à tes questions.

    @+

    #99130
    Staff
    Jim Neray
    • Level 21
    • Messages : 6471

    Ca avance bien bravo :-)

    A500 - A500 Plus - A600 HD - A1200 - A2000 - A4000T - CD32 - C=64 - 1040STE - CPC6128
    Micromiga.com - La boutique Amiga

    #99135
    demether
    • Level 6
    • Messages : 384

    trés intéressant :good:

    #99159
    astrofra
    • Level 4
    • Messages : 118

    Je suis assez d’accord avec AmiDark sur la nécessité de casser la rétro-compatibilité des fichiers sources.

    s’il est peut être possible de bricoler un format AmosAGA qui s’ouvre dans l’éditeur Amos historique, ça serait au prix de tellement d’astuces et de contournements que s’en deviendrait néfaste pour les performances et l’évolution d’AmosAGA.

    Je pense d’ailleurs que le stockage des sources en bytecode rend compliqué l’utilisation au quotidien du versionnage à l’aide d’un SVN ou d’un GIT. La sauvegarde par défaut en ascii aurait cet avantage… mais c’est un autre débat :)

     

    www.astrofra.com | fra.planet-d.net

    #99161
    Alain.Treesong
    • Level 5
    • Messages : 197

    Salut Amidark

    Alors Amiga AGA (1200) ou Amiga OCS (500), c’est du « classic » tout cela mais va pour « Amos Classics » ;-)

    Donc ok pour la compatibilité des sources, des commandes etc. Merci pour ta réponse. Je pense qu’il faudra bien documenter cela. Pour le point 3, il ne s’agit pas d’image compressée. Donc je confirme que le comportement est bien différent entre les 2 versions. Ce n’est pas très important mais c’est intéressant d’avoir la possibilité de charger une image 320x200x16 par exemple dans un écran  320x160x16. Mais c’est du bonus et tu as beaucoup d’autres choses à faire évidemment : par exemple quand est-ce que tu pourras faire évoluer set rainbow, rainbow et rain et si possible supprimer la contrainte d’un rainbow au plus par ligne ? Je pense que je pourrais convertir une petite démo appelée merry and happy en Aga ce qui serait interessant car il y a petit scrolling dual à la fin (donc pour profiter du 2×16 couleurs + rasters). Et comme c’est le sprite de beast, le passer en Aga, cela ferait une pub pas mal je pense pour valoriser ton travail.

    Autre chose pour tracer des polygones rapidement, cls, polygon, draw etc sont trop lents. Donc j’utilise évidemment les commandes Amcaf (plus amiga d’ailleurs) blitter fill, blitter clear, turbo draw,blitter copy. As tu prévu de coder un équivalent ? Ce serait très cool.

    A la prochaine

     



    #99162
    AmiDARK
    • Level 2
    • Messages : 49

    @Tous : Merci pour vos réponses et encouragements :)

    @AstroFra :
    Pour moi « Amos Professional Classics » c’est juste pour dire « la version classique », « originale » … Juste cela .. Effectivement avec les Amiga Classics ça peut faire bizarre de dire que l’Amos Professsional AGA c’est pas « Classics » alors que c’est pour les « Classics » .. Mais tu me connais un peu, tu sais que j’aime « Casser les codes » :p MDR

    Sinon, la sauvegarde en ASCII aurait entre autre, l’avantage de ne pas avoir de problème de commandes non reconnues (tokénisées) lorsqu’une commande est insérée dans une lib du langage. Comme on peut le rencontrer avec la commande Unpack actuellement.

    @Alain.Treesong :
    Pour l’IFF/ILBM, Pourrais-tu m’envoyer l’exemple sur Classics que je puisse voir cela et comparer (et voir ce que je pourrais changer pour).

    Pour les rainbow/rain c’est prévu. Dans un premier temps de mettre le système actuel en RGB24. Pour ajouter un 2nd rainbow, je ne sais pas encore, le système de copper list est assez chiadé et complexe … Je verrais si je me sens .. ou pas …
    Pour ta démo, effectivement, ce pourrait être sympa pour l’Amos Professional AGA

    L’insertion de l’AGA a nécessité d’ajouter des données dans les structures système, cela a cassé la compatibilité avec les librairies de l’Ancien AMOS Professional Classics (2.0) (donc AMCAF, Turbo = Broken sur verion AGA)… Si tu me trouves le code source original d’une lib, je peux l’adapter sur la version AGA et l’y compiler pour qu’elle fonctionne avec…

    #99195
    Alain.Treesong
    • Level 5
    • Messages : 197

    Salut,

    Pour l’iff/ilbm, simplement effectue:

    screen open 0,320,160,32,lowres

    load iff « monImage.iff » : rem l’image fait 320×256

     

    Pour les extensions je pense qu’il faudra dev à terme ces instructions car les versions de cls, draw, polygon (par exemple)… sont super lentes et limitées (ou alors implémenter mieux ces instructions). En effet Amos classics ce n’est pas Amos 2.0 de françois lionet de 1992 : je pense que la plupart des gens faisant de l’amos aujourd’hui (et déjà à l’époque dès 1993, Turbo était de venu standard) utilise les extensions.

    Evidemment toutes les instructions des extensions (des centaines) ne sont pas à porter mais au moins une bonne dizaine en tout cas de Amcaf et je dirai F Paste Icon de Amos Turbo (ou alors recoder l’instruction Paste Icon). Je donne un exemple simple : protracker. Les instructions actuelles d’amos pro 2.0 sont buggées (gravement). Amcaf est une des rares extensions apportant une lecture des .mods (presque) pas buggées :-). Je pense qu’il est mieux de pouvoir lire un module tracker dans un code Amiga…

    Je ne fais pas de 68000 donc malheureusement je ne peux pas t’aider la dessus. Mais peut être faut il demander à des tiers pour t’aider sur le sujet ?

    Mais bon chaque chose en son temps. Donc effectivement j’attends avec impatience de pouvoir utiliser des rainbows 24 bits en dual playfield Aga 2 fois 16 avec les instruction bob, sprite etc… Cela permettra de faire des trucs sympa déjà.

    Bon courage.

    A+

     

     

    #99203
    AmiDARK
    • Level 2
    • Messages : 49

    @Alain : Je testerais pour le Load IFf.

    Pour les extensions, oui je comprends que certaines sont essentielles pour compléter le panel de commandes de l’Amos Professional. L’AMCAF (que je n’ai jamais utilisé à l’époque) est apparement bien connue en effet .. La Turbo oui, ce serait cool, mais je crois (d’après ce que j’ai vu d’une décompilation du code), que le gars a refait un système complet de gestion des objets (bobs/icons) .. Celui de l’Amos pro est intéressant mais franchement pas une foudre de guerre niveau performances (trop complexe, listes chainées, etc… Je verrais bien une façon d’optimiser tout cela, mais cela risque de changer le fonctionnement des banques mémoires du coup (à part le spack qui ne sont pas complexes elles)…
    Après, pour les routines genre proTracker, on peut trouver une routine de qualité et open source, et utilisable pour tous type de projet et j’inclurai les informations de l’auteur dans les fichiers de l’Amos Pro AGA pour être dans les règles …

    Pour l’instant je ne demande l’aide de personne sur le code … Je me débrouille et j’Aime faire un projet de bout en bout ;)
    Après quand je mettrais le code à dispo, d’autres pourront y mettre leur patte ;)

    Et en conclusion, oui, chaque chose en son temps … Je dois d’abord finir un support propre de l’AGA … Le reste, on verra à ce moment là ;)

    #99247
    AmiDARK
    • Level 2
    • Messages : 49

    J’ai publié la vidéo youtube que j’ai préparé pour présenter cette version Alpha :

    #99254
    Alain.Treesong
    • Level 5
    • Messages : 197

    Salut,

    Bon, c’est super :-)

    Au fur et à mesure de l’avancement de ton projet, je vais faire une petite démo basée sur une ancienne dont j’avais parlé.

    J’ai executé la scene dual playfield basé sur un sprite shadow of the beast et un bob provenant de shadow of the beast 3. Et cela marche !

    Evidemment sans retravailler la palette du coup les couleurs ne sont plus bonnes et j’ai un rainbow dans le second plan qui ne s’affiche plus car il était en couleur 9. Il sera donc en couleur 17 (si j’ai bien compris) mais par défaut on ne peut pas faire un set rainbow avec des index >=16 (sauf avec Amcaf mais on s’en moque). Donc dès que tu as fixé cela ou que tu introduis une autre commande comme tu le dis dans ta vidéo je ferai la mise à jour. Assez rapidement je pourrai arriver à une scène similaire en 2×16 couleurs et je soignerai les graphismes. Cela ferait une bonne pub à ton projet. Ce que tu mérites amplement.

    A+

     

Partager sur vos réseaux sociaux préférés :
Facebooktwitterredditpinterestlinkedintumblrmail
Affichage de 15 réponses de 1 à 15 (sur un total de 38)
  • Vous devez être connecté pour répondre à ce sujet.