Extension Visual Studio Code pour l'assembleur Amiga

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

  • Créateur
    Sujet
  • #26225
    prb28
    • Level 1
    • Messages : 24

    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: !

Viewing 15 replies - 16 through 30 (of 44 total)

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

  • Auteur
    Réponses
  • #26505
    Jeeg
    • Level 5
    • Messages : 162

    @prb28, rien ne t’empêche déjà de compiler avec vasm, il suffit de lancer la commande dans le terminal de vs code et le tour est joué. Il ne reste ensuite plus qu’ à lancer l’exécutable généré dans winUAE ou consort. :-)

    Bravo et merci pour cette extension. :good:



    #26506
    prb28
    • Level 1
    • Messages : 24

    @Jeeg, en effet c’est la première étape et je voudrais qu’elle arrive assez rapidement pour faire de la validation syntaxique (je suis pas sur que l’on fasse souvent des erreurs de syntaxe, mais bon…).

    Mais avec mes premiers essais, j’ai été frustré lorsque j’ai compris qu’à la 10e commande assembleur (désactivation du système pour l’installation des interruptions), il n’y avait plus de debug possible !

    Normal, me direz-vous, jeune padawan, il faut bien calculer ses boucles et attention ça marche pas vraiment comme dans les autres langages … bah c’est l’apprentissage par l’erreur, mais on en revient au debug par ligne rose dans la copperlist :lol: .

    (Même pas peur, j’ai déjà débuggé au bip sur les vieux PC lorsque l’écran était noir.)

    J’en suis donc à faire des sorties plus tôt dans mon programme pour vérifier l’état de la mémoire :cry: … c’est pas l’idéal…

    #26650
    prb28
    • Level 1
    • Messages : 24

    La version 0.5.0 est disponible !

    Nouveautés :

    • Calculs : à la volée, en commande et avec remplacement.
    • Ajout de la doc des ciaa et ciab
    • Ajout de présentation et modification des couleurs dans le code
    • Présentation binaire des valeurs attribuées aux registres amiga
    • Tooltip avec la conversion binaire / hex / decimal

    Bon code à tous !

    #26653
    Jeeg
    • Level 5
    • Messages : 162

    Superbes ces évolutions, par contre j’ai l’impression que les commentaires sont passés de ; à // qui n’est pas interprété correctement avec vasm. ;-)

     

     

     

    #26670
    prb28
    • Level 1
    • Messages : 24

    merci @Jeeg !

    Non, je ne pense pas voir touché aux commentaires. Pourrais-tu m’en dire un peu plus sur ce que tu as remarqué ?

    J’ai tout juste commencé à jouer avec vasm et j’ai du utiliser la compatibilité devpac pour faire fonctionner ma copperlist :

    • vasmm68k_mot -kick1hunks -devpac -Fhunk -o p.o p.s
    • vlink -bamigahunk -o monexe -s p.o

    Quelles options utilises-tu pour vasm ?

    Quel enchainement utilises tu pour faire éditeur / compilation vasm / test sur émulateur ?

    #26690
    Jeeg
    • Level 5
    • Messages : 162

    @prb28, c’est tout bête, dans la version précédente, lorsque l’on appuyait sur CTRL+: la ligne sélectionnée était commentée avec un ; maintenant, c’est un //.  Où menu modifier, option « Afficher/masquer le commentaire de ligne ».

    Sinon pour compiler j’utilise simplement dans la console du VS code une commande de ce type : vasmm68k_mot -Fhunkexe -o display.exe -nosym display.s ce qui a pour effet de générer directement mon exécutable (format hunk AmigaDos, sans symboles de débogage) à l’emplacement du source.

    Plus qu’a basculer sous winUAE et lancer le programme, c’est tout. :-)

    #26691
    prb28
    • Level 1
    • Messages : 24

    @Jeeg, peux-tu, stp, vérifier si tu n’aurais pas gardé le plugin m68k ?

    C’était son comportement, dans mon plugin c’est bien un ‘;’ qui est inséré. Comme nous répondons au mêmes extensions de fichier il est possible que vscode se trompe dans la source de définition du langage.

    #26692
    Jeeg
    • Level 5
    • Messages : 162

    @prb28, bien vu, c’était bien le cas, il y avait bien un conflit avec ce plugin.
    Tout est rentré dans l’ordre.  :good:

    #38042
    prb28
    • Level 1
    • Messages : 24

    S’il y a des curieux (et courageux), j’ai fait une preview du debuger:

    https://github.com/prb28/vscode-amiga-wks-example

    Pour quelqu’un qui veut faire ses premier pas en ASM, ça vaut vraiment le coup d’oeil.

    N’hésitez pas à me faire des remarques !

     

    #38086
    Jeeg
    • Level 5
    • Messages : 162

    Je regarde cela, merci ton superbe travail. :-)



    #38090
    prb28
    • Level 1
    • Messages : 24

    Merci !

    Même si je l’ai débuté avec pour but de me simplifier la vie…ça fait plaisir de voir que ça peut servir à d’autres et avoir un retour positif !

    #38130
    Jeeg
    • Level 5
    • Messages : 162

    @prb28, j’ai l’impression que ma version de fs uae ne fonctionne pas en mode débogage (je suis sous Windows), je ne m’arrête jamais sur un point d’arrêt et j’ai toujours un message d’erreur : ECONNREFUSED 127.0.0.1:6860.

    Il faut que je regarde si je peux récupérer une autre version. :scratch:

    #38133
    prb28
    • Level 1
    • Messages : 24

    @jeeg en effet les options de debugage à distance ne sont pas encore disponibles dans la version officielle de fs-uae, il faut compiler la version de Daniel Collin :

    https://github.com/emoon/fs-uae

    ou ma version de travail :

    https://github.com/prb28/fs-uae

    J’ai modifié la version de test en ajoutant la possibilité de désassembler la mémoire grâce à l’outil cstool de capstone (il faut aussi le compiler):

    http://www.capstone-engine.org/

    #38304
    Jeeg
    • Level 5
    • Messages : 162

    @prb28, choux blanc, après pas mal de galères pour compiler l’une de deux version sous Mingw, l’exécutable ne fonctionne pas. J’attendrai qu’une prochaine version avec exécutable arrive. Tant pis.

    Dans tous les cas, merci pour ton travail, bonne continuation. :good:

    #38305
    prb28
    • Level 1
    • Messages : 24

    @jeeg merci d’avoir essayé !

    Lorsque j’aurais avancé, je mettrais à dispo un exe windows.

    Pour l’instant ma version de FS-UAE est un peu en vrac avec mes modifications :-p .

Partager sur vos réseaux sociaux préférés :
Facebooktwitterredditpinterestlinkedintumblrmail
Viewing 15 replies - 16 through 30 (of 44 total)
  • Vous devez être connecté pour répondre à ce sujet.