Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 12 Juil 2025, 04:24

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Débutant souhaite programmer en assembleur pour le CPC 6128

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 2
 [ 17 message(s) ]  Aller vers la page 1, 2  Suivant
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
malespiaut_
 Sujet du message : Débutant souhaite programmer en assembleur pour le CPC 6128
Message Publié : 12 Avr 2024, 23:32 
Hors-ligne

Inscription : 12 Avr 2024, 22:51
Message(s) : 9
Localisation : Bordeaux, France
Bonjour à tous,

Je suis un développeur logiciel avec beaucoup d'expérience en C et en Python.

J'ai fait l'aquisition il y a quelques années d'un CPC 6128, et je souhaite m'en servir pour apprendre à programmer en assembleur.

Mon objectif est de me servir du CPC 6128 et de l'assembleur, de la même manière dont on se sert aujourd'hui du Pico-8 et du Lua : pour apprendre à programmer en assembleur sur une plateforme « tout en un » (graphismes, son, etc), et faire des petites expériences, ou même des petits jeux.

Je compte développer autant sur la machine réelle, que sur émulateur (plus pratique). Au passage, mon lecteur de disquettes est HS, et je ne pense pas que ce soit un simple problème de courroie à changer. Donc si je charge mes productions sur le CPC, ça passera par le canal audio.

Je possède déjà des livres sur l'assembleur Z80:
    « Programmer en assembleur », de Alain Pinaud (1984) (ISBN : 2-86595-014-X)
    « L'assembleur facile du Z80 », de Olivier Lepape (1982)
    « Programmation du Z80 », Rodnay Raks (1980) (ISBN : 2-902414-20-X)

Je ne sais pas ce que valent ces livres, je ne les ai pas encore lus. Si vous avez un avis, ou des recommendations d'autres livres que vous avez lus, je serais ravi de les connaître.

J'ai vu qu'il y avait un grand nombre de tutos sur le site cpcrulez.fr ; mais ça part dans tous les sens, et devant la grande quantité d'informations, j'ai besoin que l'on me guide vers un tutoriel à suivre pas-à-pas.

Dans l'idéal, je recherce un tuto pour apprendre à assembler un « Hello world » soit directement sur Amstrad CPC, soit sur Linux. Et j'insiste sur le fait que je ne désire pas du tout compiler du C, mais bien écrire de l'assembleur ! :D

N'hésitez pas à me poser toutes les questions que vous souhaitez pour que je puisse clarifier mon projet !

Merci à tous pour votre temps.


Haut
 Profil  
 
marcel
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 13 Avr 2024, 09:02 
Hors-ligne
Rulezzzz
Rulezzzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 513
Localisation : Valence
La plupart des livres sur le Z80 sont insipides et mal organisés. J'ai tenté de réorganiser un peu la connaissance ici (et de faire court) https://fr.wikibooks.org/wiki/Programma ... mbleur_Z80

Mais pour programmer sur CPC, il faut de la doc CPC, cpcrulez fourmille de tout, cpcwiki aussi c'est un peu à toi de savoir ce que tu comptes faire.

Pour un hello world, c'est de la programmation système de base, il te faut une documentation sur les vecteurs systèmes!!! => http://www.cpcalive.com/docs/amstrad_cpc_vectors.html

Un émulateur pour dev sous Linux, http://www.roudoudou.com/ACE-DL/

Un assembleur pour ton CPC (faudra une romboard) http://orgams.wikidot.com/start

Plus qu'à trouver ce que tu souhaites faire après ton premier hello world :)


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 13 Avr 2024, 10:27 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5080
Salut malespiaut_,

Des initiations orientées débutant , tu pourras en trouver sur ces pages :

https://cpcrulez.fr/coding_ASTR37_asm.htm
https://cpcrulez.fr/coding_demoniak-menu.htm
https://cpcrulez.fr/coding-micromag12-a ... __MMAG.htm

Initiation à l'assembleur Micro mag: https://cpcrulez.fr/coding_micromag-menu.htm
Initiation à l'assembleur Micro News : https://cpcrulez.fr/coding_articles-micro_news-menu.htm
Initiation à l'assembleur A100% : https://cpcrulez.fr/coding_menu-asm1.htm
Les pages pédagogique d'Hebdogiciel : https://cpcrulez.fr/coding_hebdogiciel-menu.htm


Haut
 Profil  
 
malespiaut_
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 13 Avr 2024, 10:47 
Hors-ligne

Inscription : 12 Avr 2024, 22:51
Message(s) : 9
Localisation : Bordeaux, France
Bonjour à tous !

Merci infiniment pour ces réponses !

marcel a écrit :
La plupart des livres sur le Z80 sont insipides et mal organisés. J'ai tenté de réorganiser un peu la connaissance ici (et de faire court) https://fr.wikibooks.org/wiki/Programma ... mbleur_Z80


Bon à savoir. J'irais voir ça. Ironiquement, je suis souvent resté loin des livres Wikibooks, parce qu'ils me laissaient l'impression d'être insipides et mal organisés :P (et surtout, pas terminés !). J'irais lire ça en priorité.

marcel a écrit :
Mais pour programmer sur CPC, il faut de la doc CPC, cpcrulez fourmille de tout, cpcwiki aussi c'est un peu à toi de savoir ce que tu comptes faire.


Pour l'instant, c'est simple. Comme vous l'avez déjà noté dans votre réponse : je veux faire un Hello World. Si je veux aller quelque part, il faut y aller étape par étape. Sinon, je ne vais tout simplement pas savoir quoi, ni comment m'organiser, et je vais perdre la motivation.

Ma liste est, pour l'instant :

  1. Afficher Hello World
  2. Afficher un carré rouge
  3. Faire bouger le carré rouge avec les touches directionnelles

Je pense que c'est déjà bien assez.

marcel a écrit :
Un assembleur pour ton CPC (faudra une romboard) http://orgams.wikidot.com/start


Merci. Mais je ne possède absolument aucun matériel en dehors d'un CPC 6128 nu, dont le lecteur disquettes ne fonctionne pas. J'ai juste un câble Jack mâle-mâle 3,5 mm.

Merci @marcel et @hERMOL pour vos indication et votre documentation !


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 13 Avr 2024, 19:58 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 185
Localisation : Sur terre, mais souvent dans les nuages !
malespiaut_ a écrit :
... Au passage, mon lecteur de disquettes est HS, et je ne pense pas que ce soit un simple problème de courroie à changer.

Tu peut toujour la changer, pour 2€ cela ne te ruineras pas :mdr:
Et il refonctionneras peut être !

malespiaut_ a écrit :
...Donc si je charge mes productions sur le CPC, ça passera par le canal audio.

Pour de petit programme cela vas, mais si tu commence a jouer avec les fichiers se seras plus galère.

Au pire tu peut monter un lecteur 3p1/2...

ou investir dans les extension pour utiliser une caret SD ou le Wifi par exemple.

Pour l’assembleur tu a déjà eu des réponses.
Mais en fouillent sur le net tu trouveras pas mal de code pour le CPC


Haut
 Profil  
 
malespiaut_
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 15 Avr 2024, 11:00 
Hors-ligne

Inscription : 12 Avr 2024, 22:51
Message(s) : 9
Localisation : Bordeaux, France
Bonjour,

Juste à titre indicatif, voici la liste des livres à propos de la programmation du CPC en assembleur que j'ai pu trouver numérisés sur la Internet Archive. Si jamais vous avez un de ces livres à me recommander, n'hésitez pas !

Je mets la liste ici, si jamais quelqu'un se pose la même question que moi à l'avenir :

Livres en français :

  • Amstrad, jeux en assembleur - Eric Ravis (Sybex, 1986) (ISBN 2-7361-0205-7 / EAN 9782736102050)
  • Amstrad, mieux programmer en assembleur - Thomas Lachand-Robert (Sybex, 1986) (ISBN 2-7361-0193-6 / EAN 9782736101930)
  • Amstrad, programmes en langage machine - Steve Webb (Sybex, 1986) (ISBN 2-7361-0195-2 / EAN 9782736101954)
  • Amstrad, routines en assembleur - Jean-Claude Despoine (Sybex, 1986) (ISBN 2-7361-0203-7 / EAN 9782736102036)
  • Graphisme en assembleur sur Amstrad CPC - Francis Pierot (Éditions du P.S.I., 1986) (ISBN 2-86595-340-8 / EAN 9782865953400)
  • (Doublon) Graphisme en assembleur sur Amstrad CPC - Francis Pierot (Éditions du P.S.I., 1986) (ISBN 2-86595-340-8 / EAN 9782865953400)
  • Programmation en assembleur - Georges Fagot-Barraly (Sybex, 1985) (ISBN 2-7361-0136-2 / EAN 9782736101367)
  • (Doublon) Programmation en assembleur - Georges Fagot-Barraly (Sybex, 1985) (ISBN 2-7361-0136-2 / EAN 9782736101367)
  • Programmation en assembleur - Georges Fagot-Barraly (2e édition ?) (Sybex, 1985) (ISBN 2-7361-0136-2 / EAN 9782736101367)
  • RSX et routines assembleur sur Amstrad CPC - Jean-Jacques Weyer (Éditions du P.S.I., 1986) (ISBN 2-86595-352-1 / EAN 9782865953523)

Livres en anglais :

  • Amstrad assembly language course - Tim Herbertson (Glentop Publishers, 1986) (ISBN 1-85181-112-5)
  • Introducing Amstrad CP/M assembly language - Ian Sinclair (Collins Professional and Technical Books, 1986) (ISBN 0-00-383309-7 / EAN 9780003833096)
  • Introducing Amstrad CPC 464 machine code - Ian Sinclair (Collins Professional and Technical Books, 1985) (ISBN 0-00-383079-9)
  • Assembly language programming for the Amstrad CPC 464/664/6128 - A. P. & D. J. Stephenson (Argus Books Limited, 1986) (ISBN 0-85242-861-8 / EAN 9780852428610)
  • Machine code for beginners on the Amstrad - Steve Kramer (Micro Press, 1985) (ISBN 0-7447-0025-6 / EAN 9780744700251)
  • Ready made machine language routines for the Amstrad CPC 464 / CPC 664 - Joe Pritchard (Melbourne House Publishers, 1985) (ISBN 0-86161-198-5 / EAN 9780861611980)
  • Machine code routines for your Amstrad - Clive Gifford and Scott Vincent (Virgin Books, 1985) (ISBN 0-86369-031-5 / EAN 9780863691317)
  • Mastering machine code on your Amstrad CPC & 664 - Jeff Naylor & Diane Rogers (Sunshine Books, 1985) (ISBN 0-946408-82-3 / EAN 9780946408801)
  • Mastering machine code on your Amstrad CPC 464 / 664 / 6128 - Clive Gifford & Scott Vincent (Interface Publications Ltd., 1986) (ISBN 0-907563-91-0 / EAN 9780907563914)

On remarquera que les années 1985 et 1986 étaient l'âge d'or de la programmation en assembleur pour l'Amstrad CPC ! :-P

Il existe également une série de tutoriels vidéos, beaucoup plus récente (2018-2023) sur YouTube : Amstrad CPC - Z80 Assembly programming, par ChibiAkumas.

Ce monsieur dispose également d'une version écrite de son tutoriel : Lesson H1 - Hello World on the CPC.


Haut
 Profil  
 
marcel
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 15 Avr 2024, 13:10 
Hors-ligne
Rulezzzz
Rulezzzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 513
Localisation : Valence
Jette un oeil aux sommaires des bouquins, c'est hyper superficiel. Au mieux t'as une doc du Z80 et pas d'info sur le CPC

Le seul qui tire un peu son épingle du lot est celui sur les graphismes avec une explication des adresses (maladroite en décimal, en hexa on pige bien mieux #C000, #C800, #D000, ...) et le décodage des couleurs

Tu as quelques exemples/infos bien plus concises sur http://quasar.cpcscene.net/doku.php par exemple

Et relire les rubriques bidouilles d'Amstrad 100% sur abandonware magazine est pas mal aussi :)


Haut
 Profil  
 
malespiaut_
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 15 Avr 2024, 13:34 
Hors-ligne

Inscription : 12 Avr 2024, 22:51
Message(s) : 9
Localisation : Bordeaux, France
Je reconnais que c'est juste. Les livres parlent beaucoup du Z80 d'un aspect assez lointain, et assez peu de programmation en assembleur, qui plus est pour le CPC. Je suis juste un peu déçu que la documentation soit aussi éparse.

Ce que je trouverai intéressant, mais peut-être est-ce à moi de le rédiger :-P, ça serait un grand document qui prend son lecteur par la main pour apprendre à réaliser un petit jeu très simple (un snake, par exemple) et qui passerait par tous les aspects : programmation asm ; affichage de sprites à l'écran ; musique rudimentaires et effets sonores ; lecture du joystick et des touches directionnelles ; réalisation d'une cassette/disquette/cartouche.

Ou bien, une succession de programmes, les plus courts possibles, pour faire des tâches simples. Comme les exemples de la librairie raylib : https://www.raylib.com/examples.html

En attendant, je vais lire vos recommendations @marcel ! :-)


Haut
 Profil  
 
marcel
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 15 Avr 2024, 13:51 
Hors-ligne
Rulezzzz
Rulezzzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 513
Localisation : Valence
malespiaut_ a écrit :
Ce que je trouverai intéressant, mais peut-être est-ce à moi de le rédiger :-P


Il est difficile pour celui qui connait d'écrire un manuel d'apprentissage

Par exemple, tu nous parles d'un hello world, mais ensuite? Quelle direction prendre?

Si de ton côté tu as quelques idées sur l'avenir, on pourrait à minima te trouver des articles, mieux, peut-être t'en faire :eng:

++


Haut
 Profil  
 
malespiaut_
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 16 Avr 2024, 10:48 
Hors-ligne

Inscription : 12 Avr 2024, 22:51
Message(s) : 9
Localisation : Bordeaux, France
marcel a écrit :
Il est difficile pour celui qui connait d'écrire un manuel d'apprentissage


Que l'on me comprenne, mais je trouve cette phrase un peu vaporeuse ? :sweatingbullets:

Même celui qui sait faire des démos pour Amstrad ne saurait pas rédiger un tutoriel pour faire un snake ? Ça me laisse l'impression que la programmation en assembleur est insaisissable. :D

Voici un exemple très concret de ce que j'aimerais savoir réaliser sur Amstrad CPC en assembleur (c'est un jeu réalisé par un ami) :

Image

Je suis d'ailleurs tombé sur une vidéo de Monsieur Édouard Bergé, où il réalise une intro en deux heures. J'ai survolé la vidéo, mais je pense que je vais investir une petite journée pour la regarder attentivement, et prendre des notes.

marcel a écrit :
Si de ton côté tu as quelques idées sur l'avenir, on pourrait à minima te trouver des articles, mieux, peut-être t'en faire :eng:


Merci infiniment pour votre soutien, @marcel, c'est très touchant. Je vais d'abord faire au mieux avec ce que j'ai, et j'aviserai par la suite. Je pense que j'ai accumulé suffisament d'informations. Il ne me reste plus qu'à m'y mettre ! :P


Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.


Haut
 Profil  
 
marcel
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 16 Avr 2024, 12:34 
Hors-ligne
Rulezzzz
Rulezzzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 513
Localisation : Valence
malespiaut_ a écrit :
marcel a écrit :
Il est difficile pour celui qui connait d'écrire un manuel d'apprentissage

Même celui qui sait faire des démos pour Amstrad ne saurait pas rédiger un tutoriel pour faire un snake ? Ça me laisse l'impression que la programmation en assembleur est insaisissable. :D


Ce que je voulais dire, c'est que les gens qui veulent apprendre à programmer n'ont pas les mêmes buts. On pourrait écrire 200 pages de code pas à pas sur un projet qui ne t'intéresse pas!

Certains vont vouloir faire des scrollings parce que ça a été à la mode, d'autres vont vouloir faire des jeux (quel genre?)

Voilà, déjà avec un snake, on avance!

Ça demande au minimum une gestion du clavier, un peu de logique, quelques routines simples pour l'affichage!

Et j'ai envie à nouveau de te rediriger vers http://quasar.cpcscene.net/doku.php pour le clavier (voir PPI de mémoire), l'objectif serait de faire une boucle qui récupère les lignes et de quoi en faire quelque chose d'exploitable.

J'avais pas prévu de streamer à nouveau du code en direct :P

++


Haut
 Profil  
 
markerror
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 16 Avr 2024, 15:17 
Hors-ligne
VIP
VIP

Inscription : 04 Sep 2007, 19:43
Message(s) : 737
Bonjour,

Ce qui est toujours compliqué quand on commence le langage machine, c'est de faire le lien entre les instructions qui sont toutes très élémentaires, et un projet qui par essence, l'est forcément moins. Des notions de programmation (même du Basic) sont nécessaires pour ne pas tout découvrir d'un coup.

Le bouquin "Mieux programmer en assembleur" de Thomas Lanchand Robert est pour cela bien foutu je trouve, car il présente quelques routines avec la marche suivie par l'auteur. La plupart des autres titres, ne sont malheureusement pas aussi didactiques.

Pour moi, le plus simple est encore de commencer par quelques routines graphiques. Ca permet d'utiliser les registre, les boucles et les conditions, tout en ayant un résultat "visuel". C'est ce que je vais faire par exemple pour le 6502 (processeur que je ne connais absolument pas), où j'ai besoin d'une petite routine qui efface une portion de l'écran. C'est trivial, mais c'est un début :-). Ca va m'obliger à savoir comment la mémoire vidéo est gérée, où implanter la routine, et comment la créer ( = utilisation d'un assembleur).

Après cette étape, regarder des sources ou bouts de code d'autres utilisateurs est intéressant.


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 16 Avr 2024, 18:36 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 185
Localisation : Sur terre, mais souvent dans les nuages !
Salut,

Pour les CPC il y a les Classeur WEKA, tout est dedans, mais c'est très gros !
Il se trouve sur le net.
Je sais pas ou j'ai mis les miens, faudrait que je les chercher dans mon bazar !


Haut
 Profil  
 
malespiaut_
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 17 Avr 2024, 09:23 
Hors-ligne

Inscription : 12 Avr 2024, 22:51
Message(s) : 9
Localisation : Bordeaux, France
stephbb75 a écrit :
Salut,

Pour les CPC il y a les Classeur WEKA, tout est dedans, mais c'est très gros !
Il se trouve sur le net.
Je sais pas ou j'ai mis les miens, faudrait que je les chercher dans mon bazar !


Bonjour @stephbb75,

Merci pour l'information. Je suppose que vous faites référence à ce document ? https://cpcrulez.fr/codingBOOK_weka_010 ... tieres.htm


Haut
 Profil  
 
breiztiger
 Sujet du message : Re: Débutant souhaite programmer en assembleur pour le CPC 6
Message Publié : 17 Avr 2024, 18:00 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 13 Mars 2011, 11:39
Message(s) : 423
Localisation : RENNES
https://acpc.me/#ACME/DOCS_TECHNIQUES/WEKA


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 2
 [ 17 message(s) ]  Aller vers la page 1, 2  Suivant

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

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

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.