Inscription : 27 Jan 2010, 09:04 Message(s) : 117 Localisation : Barcelona, España
Salut, les gens !
J'ai effectué une recherche et, de toute évidence, il n'y a rien qui réponde à la question que je vais poser... J'ose imaginer que d'autres personnes sont dans le même cas que moi... Mais peut-être pas, hein... ^^
Alors voilà, je caresse le fol espoir de parvenir, un jour, à réaliser quelque chose avec mes petites mimines sur CPC. Parce que j'ai plein d'idées et plein d'envies. Mais, pour ça, encore faudrait-il que je sache comment tout ça fonctionne.
D'où ma question, terriblement originale : que me recommandez-vous pour apprendre à programmer ce cher Z80 ?
Je ne pars pas totalement de zéro, j'ai quelques bases en programmation (oh, rien d'extraordinaire, je vous rassure), j'ai appris l'algorithmique, j'ai déjà développé des trucs pas trop casse-gueule en php... (Ouais, je sais, c'est pas comparable... ) Mais je ne parviens pas à trouver de la doc assez structurée pour réellement apprendre. J'ai bien vu des bouts de codes ou de bidouilles dans les pages de CPC Rulez mais... pfff... ça reste globalement pas très parlant pour moi.
J'avoue que ce n'est pas une question facile. A ma connaissance, il n'y a pas de méthode exhaustive et parfaite pour apprendre en douceur l'assembleur Z80, même si au final, cela n'a rien de franchement compliqué. Il faut simplement y aller progressivement et y consacrer un peu de temps.
A mon avis, il faut déjà se taper un bouquin plus ou moins exhaustif sur la structure interne (registres, pile, interruptions (pas utile dans un premier temps), et les instructions Z80 usuelles. Une fois ces informations digérées, normalement, tu dois te demander, comment peut-on faire des programmes avec des instructions aussi élémentaires ? .
Après, il faut élargir son horizon en regardant des documentations sur le CPC (organisation de la mémoire, de la mémoire vidéo, vecteurs systèmes, ports utilisés par les puces internes). A ce moment, tu peux aussi jeter un oeil sur des sources simples.
J'ai commencé personnellement avec le livre "Programmation en assembleur" de Georges Fagot-Barraly chez PSI. Il n'est pas parfait, présente certaines instructions un peu exotiques et en oublie d'autres plus courantes, mais est plutôt clair (la plupart des bouquins ont tendance à donner trop d'informations). Ensuite, "Mieux programmer en assembleur" de Thomas Lachand-Robert, en partie parce qu'il contient une liste complète des vecteurs système du CPC, et que là aussi, il est clair.
Je ne sais pas si ces bouquins ont été scannés.
Il faudra enfin se lancer dans le grand bain en bricolant ton propre code. Utiliser l'assembleur de WINAPE et surtout son debugger est à mon avis une bonne idée, cela te permettra de suivre pas à pas l'exécution d'un programme en langage machine.
Je te conseillerai de commencer par des routines "visuelles" (style un petit scrolling soft, ou l'affichage d'un sprite), qui font appel aux instructions Z80 les plus communes.
Sur mon site, il y a quelques trucs qui à ce stade peuvent t'intéresser (dans la section Programmation). (http://tj.gpa.free.fr).
Bon courage, et n'hésite pas si tu as des questions, les utilisateurs de ce site se feront un plaisir de te répondre .
Inscription : 27 Jan 2010, 09:04 Message(s) : 117 Localisation : Barcelona, España
Merci beaucoup, j'avoue que c'est une réponse tout à fait satisfaisante !
markerror a écrit :
A mon avis, il faut déjà se taper un bouquin plus ou moins exhaustif sur la structure interne (registres, pile, interruptions (pas utile dans un premier temps), et les instructions Z80 usuelles. Une fois ces informations digérées, normalement, tu dois te demander, comment peut-on faire des programmes avec des instructions aussi élémentaires ? .
Je me suis fait le bouquin "Autoformation à l'assembleur" de chez Micro Application que Hermol a mis à dispo. Il m'a paru assez clair mais, en effet, je me suis vite demandé ce que j'allais pouvoir faire de tout ça. (À part réaliser les exercices proposés, bien sûr... ^^)
markerror a écrit :
Après, il faut élargir son horizon en regardant des documentations sur le CPC (organisation de la mémoire, de la mémoire vidéo, vecteurs systèmes, ports utilisés par les puces internes). A ce moment, tu peux aussi jeter un oeil sur des sources simples.
Hm, ok. Je vais faire ça. Aurais-tu des exemples de sources simples ? (Tant qu'à faire, hein, je me permets d'abuser... )
markerror a écrit :
J'ai commencé personnellement avec le livre "Programmation en assembleur" de Georges Fagot-Barraly chez PSI. Ensuite, "Mieux programmer en assembleur" de Thomas Lachand-Robert.
Super, je vais essayer de trouver ces bouquins.
Merci pour tout, en tout cas. Je vais suivre tes précieux conseils.
Petit erreur, les deux bouquins sont, enfin étaient chez Sybex.
Pour les sources, ceux sur mon site sont souvent un peu compliqués (ceux des décompacteurs, en particulier), même si la plupart du temps à peu près commentés. Ca risque d'être difficile de trouver des sources vraiment "simples". A la limite, si tu as une idée de routine, tu poses la question sur ce forum, et on te donnera (si l'on sait ) des indications sur la façon de résoudre le problème en assembleur.
Inscription : 12 Juin 2008, 20:29 Message(s) : 1715
ouaips mon gars, on t'aidera de notre mieux !!!
Le mieux est de faire comme cela :
- savoir ce que tu veux coder - décomposer ce que tu veux faire (un routine d'affichage, une de calcul par exemple) - développer en z80 tes sous-routines, faire des tests unitaires - quand ok : l'intégrer dans un programme qui l'exécute (par exemple qui gère les interruptions, les I/Os pour les datas, etc)...
Comme à dit T&J, n'hésite pas à venir poser tes questions -> on t'aidera !!!
perso je compte aussi profiter d'une "accalmie professionnelle imposée" probablement très prochaine pour tenter de m'y remettre. j'ai 2 ou 3 bouquins dont l'auto-formation et le dr watson (je dois même avoir le z80 de R.Zacks, mais cela découragerait n'importe quel débutant). je me demande si en plus des bouquins reprendre les cours a100% à partir de mars 91 quand ils étaient repartis de zéro pour les débutant justement c'est pas aussi un plus. sans parler des listings fournis, genre logon, je me rappelle à l'époque avoir commencé à capter suffisamment de trucs pour modifier qques détails. fallait juste se battre avec les commandes z80 tantôt maxam tantôt dams au sein d'un même listing. ent$ c'est propre à dams non ? et sous dams pour sauvegarder du code compilé j'ai toujours galéré, il fallait quitter dams après assamblage et revenir.
winape a un assembleur proche de quel assembleur amstrad ?
Houlà, deux Amstradiens décidés à se lancer dans la programmation assembleur en une seule semaine, il va pleuvoir des grenouilles .
Longshot a raison, c'est bien Maxam dont s'inspire outrageusement Winape (bon, c'était pas bien dur, c'est le seul assembleur CPC à avoir un éditeur de texte ).
Je n'ai jamais lu les articles d'initiation avec zèle dans les revues, en général, ça se résumait plus à une litanie d'instructions que quelque chose de vraiment pédagogique...
Pour les articles Logon, c'est une bonne mine pour découvrir certaines techniques du demo-making. Mais il faut quand même un minimum pour comprendre ce qui se passe, et ce n'est pas toujours des techniques très utiles pour faire autre chose que de la demo .
Inscription : 28 Août 2008, 23:41 Message(s) : 261
Citer :
c'est le seul assembleur CPC à avoir un éditeur de texte
Pas tout à fait. Il existe au moins PYRADEV sur lequel bossait Digit MONA GENA gérait aussi un fichier texte il me semble avec un éditeur ligne à ligne
J'ai un peu honte de deterrer un post qui date d'il y a plusieurs mois, mais moi aussi je me remet a l'assembleur. Pour l'instant avec le livre "Dr Watson".
Hwikaa et kawickboy, vous connaissez peut etre ce site: http://www.abadiadelcrimen.com/vigasoco.html C'est un gars qui a completement desassemblé un jeu, et a ajouté des commentaires. Malheureusement c'est en espagnol, mais le site babelfish les traduits bien.
Par contre c'est quand même un jeu complexe (3D iso), mais ca peut peut etre aider.
Moi je compte, pour apprendre un peu, désassembler un jeu, en commençant par un petit jeu, du type de ceux ou il fallait taper le listing (mais pas ceux en basic, ceux en langage machine ou il fallait taper pleins de DATA).
Comme quoi, on est pas seuls à vouloir commencer à coder sur CPC!
Inscription : 27 Jan 2010, 09:04 Message(s) : 117 Localisation : Barcelona, España
Yeah ! Bon, pour l'instant je ne dis rien parce que je n'ai pas beaucoup l'occasion d'avancer mais je commence à me débrouiller avec l'affichage de tuiles et de sprites...
Merci pour le lien, fabricius, je fonce de ce pas y jeter un oeil !
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum