Extension Visual Studio Code pour l'assembleur Amiga

Forum News Room Projets Extension Visual Studio Code pour l'assembleur Amiga

Ce sujet a 23 réponses, 5 participants et a été mis à jour par Jeeg Jeeg, il y a 1 jour et 17 heures.

15 sujets de 1 à 15 (sur un total de 24)

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

  • Auteur
    Messages
  • #26225

    prb28
    • 11 Messages

    Bonjour à tous !

    Si ça intéresse quelqu’un j’ai codé une extension pour Visual Studio Code afin de faciliter le codage de l’assembleur pour Amiga.

    https://marketplace.visualstudio.com/items?itemName=prb28.amiga-assembly

    https://github.com/prb28/vscode-amiga-assembly

    Les fonctionnalités les plus intéressantes sont la colorisation (existait déjà), le formatage du code et la documentation assembleur et registres amiga en tooltip.

    Si vous avez des remarques ou vous voulez y apporter des modifications, elles sont les bienvenues !

    Pour la petite histoire : je me suis remis, il y a peu de temps, à l’assembleur sur Amiga (toujours rêvé de faire une copperlist depuis la fin des années 80) :

    • j’ai sorti et nettoyé mon Amiga 500
    • j’ai préparé un FS-UAE avec vscode (plantage -> reboot = 0.5s)
    • enfin j’ai suivi les tutos de Photon sur Youtube

    Sauf qu’arrivé au tuto numéro 13, il commence à dire qu’il va nettoyer son code car c’est pas très propre. Et, en effet, le mien ne ressemblait à rien avec toutes les erreurs de jeunesse.

    Sauf, que moi je suis flemmard alors me retaper les tabulations sur tout le document, non merci ! Donc j’ai codé une extension qui le fait, j’en ai profité pour ajouter quelques bonus.

    Je la ferais vivre en fonction de mes besoins qui apparaîtront à partir du tuto 14 :lol: !



    #26227
    Jeeg
    Jeeg
    • 58 Messages

    @prb28, carrément que cela m’intéresse, VS code est un superbe éditeur, merci beaucoup, vais tester cela asap.  :-)

    #26238
    Staff
    Jim
    Jim
    • 2 493 Messages

    Hello @prb28 et bienvenu sur AF.

    Merci pour ce partage tu as fais du joli boulot.  :good:

    Je me suis permis de déplacer ton sujet dans la zone projets qui est dédiée à ce type de sujet. (La zone coding est plus destinée au blababla du genre entraide et discussion)

    Les tutos de photon sont super sympa à suivre et bien expliqués. :heart:

    A500 Plus - 2Mo de Chip - 128Mo Fast - 8Gb CF - 68080@78Mhz (Vampire V2+ inside)

    #26241

    prb28
    • 11 Messages

    Merci à tous les deux !

    et désolé pour le post dans le mauvais thème, merci de l’avoir déplacé.

    #26246
    Charles-Attend
    Charles-Attend
    • 10 Messages

    Ah ! Un autre qui veut faire des copper bars depuis 30 ans  :lol: Je ne suis donc pas le seul ! Bienvenue !

    Grace aux vidéos de Photon, j’ai fini par comprendre un peu mieux le copper, et je fais bouger des barres selon une sinusoide, trop topissimme (pour ceux qui n’ont eu accès ni aux outils ni à la connaissance dans les années 80, voire les barres qui montent et qui descendent, ça met la banane :yahoo: ). On doit être à peu près aux mêmes épisodes de la playlist de Photon ;-)

    Sinon, vu que j’utilise de préférence Sublime Text (qui colorise l’ASM68k), faudra que je regarde ce visual studio code … (pour les fois où je code via WinUAE et pas direct sur l’A500)

    A500, A501, Gotek, Indivision

    #26248
    Staff
    gibs
    gibs
    • 824 Messages

    Je n’ai pas compris le but STP ?
    Tu codes en ASM dans Visual Studio, mais tu compiles sur Amiga via l’émulateur ? Un tuto en image peut-être ?  :unsure:

    :heart: Team Apollo :heart:

    #26251
    Charles-Attend
    Charles-Attend
    • 10 Messages

    Yep.

    Enfin, moi c’est Sublime Text et pas Visual Studio, mais ça marche probablement de la même manière.

    J’ai une config WinUAE avec HDD (un répertoire HDD plutot qu’un fichier HDD). Du coup, je peux éditer mes fichiers .asm direct dans Sublime Text depuis mon Mac et les enregistrer dans le répertoire HDD, et je repasse sur WinUAE pour lancer la compil.

    Ca marche nickel. Tant que je n’aurai pas de HDD sur mon A500, j’utiliserai cette méthode pour créer des fichiers data (par exemple, j’ai écrit sur mon Mac un script Python de quelques lignes qui calcule les valeurs entières d’une sinusoïde, et qui écrit le résultat dans un fichier du répertoire HDD, que je n’ai plus qu’à inclure dans mon code assembleur).

    A500, A501, Gotek, Indivision

    #26256

    prb28
    • 11 Messages

    Tout pareil que Charles-Attends, avec un MacBook / Fs-uae / un disque dur virtuel sur l’émulateur A500 avec mes sources.

    j’edite sur le Mac, je sauvegarde, dans la vm je recharge le source dans asm-one et je compile et run.

    Si ça plante je rétablis l’état de la vm.

    #26260
    Charles-Attend
    Charles-Attend
    • 10 Messages

    Roooooh  ! Que c’est bien fait !!!

    La documentation en tool tip, c’est topissimme !!! La définition des opérandes, des registres de l’Amiga, … c’est trop bien fait ! Super utile ! J’aime :heart:

    J’ai pas testé le formatage auto, vu que j’écris proprement :-p (Python FTW – à ce propos, il y a un python pour Amiga, faudrait que j’explore ça)

    A500, A501, Gotek, Indivision

    #26261

    prb28
    • 11 Messages

    @Charles-Attend, merci, je profite de ton expérience pour te demander ce qui te semble le plus utile (je n’ai pas encore assez de recul pour ordonner cette liste) :

    • Lancer vasm pour avoir les erreurs de syntaxe et un exécutable (je sais pas si au final on fait beaucoup d’erreurs de syntaxe en asm :unsure: )
    • Avoir un color picker
    • Lister les labels dans le code pour afficher rapidement une fonction
    • Afficher les hexa en binaires et décimal (ou inversement)
    • Afficher les bits des registres amiga allumés par un move
    • ou une autre option à laquelle je n’ai pas pensé !


    #26262
    Charles-Attend
    Charles-Attend
    • 10 Messages

    La conversion binaire/décimale/hexa serait top !

    Pour le reste, ça peut être pratique, mais je passe souvent par la case calculatrice (quand je suis sur le Mac) pour faire des conversions, donc ça serait cool :D

    (ah, et j’ai noté que $BFE001 n’est pas repris dans la liste des registres ;) )

    A500, A501, Gotek, Indivision

    #26263

    prb28
    • 11 Messages

    ok pour la conversion, je le mets dans ma TODO.

    Pour BFExxx en effet je n’ai du mettre que les DFFxxx (au tuto 13 je n’en ai pas encore eu besoin ;-) ) : je le mets dans ma TODO aussi.

    merci !

    #26264
    Charles-Attend
    Charles-Attend
    • 10 Messages

    Roooooh, mais il est dans le Tuto1 ;-) C’est le registre qui donne l’état des boutons souris/joystick :D

    A500, A501, Gotek, Indivision

    #26265

    prb28
    • 11 Messages

    :wacko: :lol: … j’ai plus besoin de dire que je suis un novice en asm ;-)

    #26457
    Charles-Attend
    Charles-Attend
    • 10 Messages

    @prb28 : j’ai testé le formatage auto, et il y a un truc bizarre sur mon Mac. J’ai utilisé le fichier http://eab.abime.net/attachment.php?attachmentid=36587&d=1378393862

    Si je sélectionne tout le bloc depuis ‘init:’ jusqu’au moveq avant le ‘mainloop’, j’obtiens un résultat différent que si je formatte le même groupe en 2x :  de ‘init:’ jusqu’à la ligne avant ‘;create palette’, puis ‘;create palette’ jusqu’au moveq …

    Sinon, toujours top ;) je l’ai adopté pour l’assembler 68K !

    A500, A501, Gotek, Indivision

Partager sur vos réseaux sociaux préférés :
Facebooktwittergoogle_plusredditpinterestlinkedintumblrmail
15 sujets de 1 à 15 (sur un total de 24)

Vous devez être connecté pour répondre à ce sujet.