La Place des Développeurs Tutoriel assembleur made in MSX Village
Dans les jours semaines mois qui viennent, je vais m'atteler à mettre en route un tutoriel pour apprendre à coder en assembleur, en utilisant les différentes expériences et informations que j'ai pu mener ou obtenir.
Par contre, je suis totalement conscient de mes lacunes dans plusieurs domaines. C'est pourquoi, avant de déplacer ce tuto dans les dossiers, je vais probablement le commencer dans le wiki, afin que les personnes qui s'y connaissent puissent corriger d'éventuelles erreurs, incohérences ou autres. J'ai déjà une idée du plan, je voudrais vraiment faire quelque chose qui ne soit pas trop "scolaire" voire même ludique, mais je ne pourrai pas couper la partie architecture du MSX, communication entre les composants... Donc... A vot'bon coeur messieurs les Z80-coders !
Sinon, et là c'est plus à l'attention des personnes qui voudraient lire ce tuto et y apprendre les bases : que voudriez vous y voir, et abordé avec plus ou moins de profondeur (aucune allusion sexuelle bien entendu ) ?
Merci à tous de vos réponses.
Par contre, je suis totalement conscient de mes lacunes dans plusieurs domaines. C'est pourquoi, avant de déplacer ce tuto dans les dossiers, je vais probablement le commencer dans le wiki, afin que les personnes qui s'y connaissent puissent corriger d'éventuelles erreurs, incohérences ou autres. J'ai déjà une idée du plan, je voudrais vraiment faire quelque chose qui ne soit pas trop "scolaire" voire même ludique, mais je ne pourrai pas couper la partie architecture du MSX, communication entre les composants... Donc... A vot'bon coeur messieurs les Z80-coders !
Sinon, et là c'est plus à l'attention des personnes qui voudraient lire ce tuto et y apprendre les bases : que voudriez vous y voir, et abordé avec plus ou moins de profondeur (aucune allusion sexuelle bien entendu ) ?
Merci à tous de vos réponses.
MSX un jour, MSX toujours !
Très bonne initiative, à laquelle je contribuerai du mieux que je peux ...
Je pense que le noeud du problème (qui est d'ailleurs commun à toutes les machines), c'est de marier la programmation du processeur à l'architecture de la machine pour (enfin) obtenir des résultats. L'un ne va pas sans l'autre, et c'est souvent un obstacle pour ceux qui se lancent dans l'aventure.
Car ils connaissent tous au départ le BASIC, qui est certes un langage de programmation, mais qui est constitué à 80% d'instruction spécifiques à la manipulation de l'architecture du MSX (graphique et musique). Dans leur esprit, le langage de programmation est donc intimement lié à l'architecture de la machine. Or dans le cas de l'assembleur, ce n'est plus vrai du tout.
C'est justement la force de la programmation en assembleur (mais aussi son désavantage) : il n'est pas lié à une architecture, ce n'est qu'un outil indépendant, lié uniquement au processeur. Mais en retour, il est d'une polyvalence tellement élevée qu'il permet de faire beaucoup plus que le BASIC.
A mon sens, un bon tutoriel, pour être efficace, doit être lié à l'architecture de la machine, afin de mettre en valeur les avantages du langage et pour pouvoir motiver les gens (on voit directement des résultats).
Je pense que le noeud du problème (qui est d'ailleurs commun à toutes les machines), c'est de marier la programmation du processeur à l'architecture de la machine pour (enfin) obtenir des résultats. L'un ne va pas sans l'autre, et c'est souvent un obstacle pour ceux qui se lancent dans l'aventure.
Car ils connaissent tous au départ le BASIC, qui est certes un langage de programmation, mais qui est constitué à 80% d'instruction spécifiques à la manipulation de l'architecture du MSX (graphique et musique). Dans leur esprit, le langage de programmation est donc intimement lié à l'architecture de la machine. Or dans le cas de l'assembleur, ce n'est plus vrai du tout.
C'est justement la force de la programmation en assembleur (mais aussi son désavantage) : il n'est pas lié à une architecture, ce n'est qu'un outil indépendant, lié uniquement au processeur. Mais en retour, il est d'une polyvalence tellement élevée qu'il permet de faire beaucoup plus que le BASIC.
A mon sens, un bon tutoriel, pour être efficace, doit être lié à l'architecture de la machine, afin de mettre en valeur les avantages du langage et pour pouvoir motiver les gens (on voit directement des résultats).
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Sector28
Membre non connecté
Villageois
Sector28 :
je pourrais faire un petit tutoriel sur l'assembleur WBAss2 si vous voulez (démarrage de WBAss2, premier programme, assemblage, déboguage) ?
Là c'est encore autre chose ... Car effectivement, il y a le langage assembleur, l'interface avec l'architecture de la machine ET la méthode pour écrire un programme (éditeur sur MSX - lequel ? ... éditeur sur PC - lequel ?).
Il faut peut être (certainement, à mon avis) dès le départ figer un éditeur, afin que ce ne soit pas une variable complémentaire qui vienne perturber le tutoriel.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Pour ma part, je comptais bosser avec asMSX, un cross-assembleur que je trouve bien pratique, surtout pour travailler des exemples (pas besoin d'attendre 3 plombes que ce soit compilé).
Après rien n'empêche de faire des passerelles, en stipulant bien quelles sont les différences syntaxiques.
Après rien n'empêche de faire des passerelles, en stipulant bien quelles sont les différences syntaxiques.
MSX un jour, MSX toujours !
Sector28
Membre non connecté
Villageois
il faut se mettre dans la peau d'un msxien qui débute en assembleur et qui voudrait simplement assembler de la façcon la plus simple possible un source assembleur.
sans se préoccuper de l'installation de l'assembleur, des fichiers includes, du linker, du transfert vers son msx de l'executable, etc...
avec un assembleur comme wbass2, il suffit d'encoder le source, de taper la commande ASM, puis la commande GO pour l'executer. de plus il y a diverse commandes pour deboguer le programme directement sur son msx.
ainsi on est plus proche du hardware qu'avec un cross-assembler
sans se préoccuper de l'installation de l'assembleur, des fichiers includes, du linker, du transfert vers son msx de l'executable, etc...
avec un assembleur comme wbass2, il suffit d'encoder le source, de taper la commande ASM, puis la commande GO pour l'executer. de plus il y a diverse commandes pour deboguer le programme directement sur son msx.
ainsi on est plus proche du hardware qu'avec un cross-assembler
DONALD TRUMP IS FAST APPROACHING
NEMESIS ! RETURN IMMEDIATELY !
Et bien voilà déjà une première divergence ...
Personnellement, je suis de l'avis de Granced, asMSX est un cross-compiler très efficace.
Personnellement, je suis de l'avis de Granced, asMSX est un cross-compiler très efficace.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
SveN
Membre non connecté
Villageois
J'aurais tendance à dire qu'il faut privilégier les outils dont l'ergonomie est la plus aboutie, notamment en termes d'édition.
Sur PC, on peut à la fois développer, tester et suivre le tuto à venir !
En tout cas, j'apprécie l'initiative et suiscurieux impatient d'en lire les premières lignes !
Edité par
SveN
Le 13/11/2012 à 12h41
Sur PC, on peut à la fois développer, tester et suivre le tuto à venir !
En tout cas, j'apprécie l'initiative et suis
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
SveN
Membre non connecté
Villageois
Fabf
Membre non connecté
Conseiller Municipal
D'accord avec Metalion sur le fait qu'il faut des exemples avec un rendu directement visible.
Perso si c'est un tuto avec 15 pages de termes rébarbatifs, je jette l'éponge de suite.
L'idéal, une dizaines de ligne bien commentées ou l'on apprends quelque chose à chaque exemple.
Difficile mais réalisable.
Perso si c'est un tuto avec 15 pages de termes rébarbatifs, je jette l'éponge de suite.
L'idéal, une dizaines de ligne bien commentées ou l'on apprends quelque chose à chaque exemple.
Difficile mais réalisable.
L’éternel sujet...Mais je suis pour, bien entendu, et bien sur à condition d'entrer vite dans le vif du sujet
Par exemple:
- comment créer un sprite,
- comment animer un sprite,
- comment déplacer un sprite,
- gérer la vitesse,
- comment créer un décor,
- interaction décor/sprite,
- sons,
- musiques
Je pense à quelque chose en screen2 au format Rom par exemple.
Et je plussoie pour ASMSX. pourquoi? Il y a des exemples commentés très intéressant fournis avec le cross assembleur et en + Granced nous a gratifié d'une superbe traduction de la notice.
Pour FINIR voilà ce que donnait mon bureau quand je m'essayais sur UFO en ASM:
Une fenêtre ligne de commande,
L'émulateur,
L'éditeur de texte,
et bien sur la notice en français.
Par exemple:
- comment créer un sprite,
- comment animer un sprite,
- comment déplacer un sprite,
- gérer la vitesse,
- comment créer un décor,
- interaction décor/sprite,
- sons,
- musiques
Je pense à quelque chose en screen2 au format Rom par exemple.
Et je plussoie pour ASMSX. pourquoi? Il y a des exemples commentés très intéressant fournis avec le cross assembleur et en + Granced nous a gratifié d'une superbe traduction de la notice.
Pour FINIR voilà ce que donnait mon bureau quand je m'essayais sur UFO en ASM:
Une fenêtre ligne de commande,
L'émulateur,
L'éditeur de texte,
et bien sur la notice en français.
Le MSXien le plus à l'ouest ... ou presque
Fabf :
D'accord avec Metalion sur le fait qu'il faut des exemples avec un rendu directement visible.
Perso si c'est un tuto avec 15 pages de termes rébarbatifs, je jette l'éponge de suite.
L'idéal, une dizaines de ligne bien commentées ou l'on apprends quelque chose à chaque exemple.
Perso si c'est un tuto avec 15 pages de termes rébarbatifs, je jette l'éponge de suite.
L'idéal, une dizaines de ligne bien commentées ou l'on apprends quelque chose à chaque exemple.
Oui et non car pour programmer en assembleur, il faut connaitre tout un tas de choses avant même de commencer. C'est ça la difficulté de l'assembleur. Sinon l'assembleur en lui-même est très très simple, plus simple que le Basic même.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie