Yreggor
Yreggor
  • 37
  • 17 844
Apprendre et programmer des jeux en Assembleur Z80 sur Amstrad CPC - Episode #4
Bienvenue dans cette série de vidéos destinée à vous apprendre l'Assembleur Z80 sur Amstrad CPC et à développer des jeux dans ce langage.
Episodes précédents :
Episode #1 : th-cam.com/video/5CLGTqo_-y0/w-d-xo.html
Episode #2 : th-cam.com/video/Z_YQUblUDw8/w-d-xo.html
Episode #3 : th-cam.com/video/8u-SzCL0bM0/w-d-xo.html
Liste des vecteurs système : www.cpc-power.com/cpcarchives/index.php?page=articles&num=150#vecteurs
Manuel de référence du CPC 6128 : archive.org/details/Amstrad_CPC6128_Manuel_de_lutilisateur_1985_AMSOFT_FR
Lien pour télécharger l'émulateur Caprice Forever : www.cpc-power.com/cpcarchives/index.php?page=articles&num=445
Générique vidéo :
Titre: Reset
Auteur: Jaunter
Source: jaunter.bandcamp.com
Licence: creativecommons.org/licenses/by/3.0/
Téléchargement: www.auboutdufil.com
มุมมอง: 296

วีดีโอ

Apprendre et programmer des jeux en Assembleur Z80 sur Amstrad CPC - Episode #3
มุมมอง 37121 วันที่ผ่านมา
Bienvenue dans cette série de vidéos destinée à vous apprendre l'Assembleur Z80 sur Amstrad CPC et à développer des jeux dans ce langage. Episodes précédents : Episode #1 : th-cam.com/video/5CLGTqo_-y0/w-d-xo.html Episode #2 : th-cam.com/video/Z_YQUblUDw8/w-d-xo.html Liste des vecteurs système : www.cpc-power.com/cpcarchives/index.php?page=articles&num=150#vecteurs Manuel de référence du CPC 61...
Apprendre et programmer des jeux en Assembleur Z80 sur Amstrad CPC - Episode #2
มุมมอง 667หลายเดือนก่อน
Bienvenue dans cette série de vidéos destinée à vous apprendre l'Assembleur Z80 sur Amstrad CPC et à développer des jeux dans ce langage. Episode #1 : th-cam.com/video/5CLGTqo_-y0/w-d-xo.html Liste des vecteurs système : www.cpc-power.com/cpcarchives/index.php?page=articles&num=150#vecteurs Manuel de référence du CPC 6128 : archive.org/details/Amstrad_CPC6128_Manuel_de_lutilisateur_1985_AMSOFT_...
Apprendre et programmer des jeux en Assembleur Z80 sur Amstrad CPC - Episode #1
มุมมอง 1.4Kหลายเดือนก่อน
Bienvenue dans cette série de vidéos destinée à vous apprendre l'Assembleur Z80 sur Amstrad CPC et à développer des jeux dans ce langage. Lien pour télécharger l'émulateur Caprice Forever : www.cpc-power.com/cpcarchives/index.php?page=articles&num=445 Liste des vecteurs système : www.cpc-power.com/cpcarchives/index.php?page=articles&num=150#vecteurs Générique vidéo : Titre: Reset Auteur: Jaunte...
AC2024 - 13/04/2024
มุมมอง 1668 หลายเดือนก่อน
Un petit retour de l'AC 2024, convention de retro gaming de l'association RGC journée du samedi 13/04/2024 Vidéo : Grégory BOURGON Montage vidéo : Grégory BOURGON Musique : Starcade Auteur: Blue Navi Source: soundcloud.com/blue-navi Licence: creativecommons.org/licenses/by-sa/3.0/deed.fr Téléchargement: www.auboutdufil.com
Amelie McCandless - The Stranger - Live 17 06 2022
มุมมอง 332 ปีที่แล้ว
Amelie McCandless - The Stranger - Live 17 06 2022
Emmet Brown's Eperiment - Killing in the name of (RATM cover)
มุมมอง 142 ปีที่แล้ว
Emmet Brown's Eperiment - Killing in the name of (RATM cover)
The Hunt for the Dragon
มุมมอง 272 ปีที่แล้ว
Les aventures d'un mage face à une menace terrifiante...
You Raise Me Up (Josh Groban Version - Unofficial video by Grégory BOURGON)
มุมมอง 283 ปีที่แล้ว
Vidéo spécialement réalisée pour une soirée en hommage à l'association antenne vitryate de FRANCE ALZHEIMER localisée à Vitry-le-Francois, France. Merci au site WWW.PEXELS.COM pour les vidéos, ainsi qu'à ceux qui créent le contenu cottonbro, kampus production, pavel danilyuk, olia danilevich, Pressmaster, Anthony Shkraba, Gustavo Fring Video specially produced for an evening in tribute to the v...
Effet parallax à partir d'une image 2D - DaVinci Resolve 17.4
มุมมอง 623 ปีที่แล้ว
Effet parallax à partir d'une image 2D - DaVinci Resolve 17.4 Dessin : Lolita fredelolitaroger
DaVinci Resolve - séquence animée à partir d'une image 2D avec Fusion
มุมมอง 843 ปีที่แล้ว
DaVinci Resolve - séquence animée à partir d'une image 2D avec Fusion Dessin : Lolita fredelolitaroger
Misty Mountains (Cold) - Vocal Cover by Greg
มุมมอง 1243 ปีที่แล้ว
Magnifique chanson du film "Le Hobbit - Un voyage inattendu". J'avais pris des cours de chant il y a quelques années et nous avions repris ce thème à plusieurs avec des harmonies vocales. J'avais adoré le résultat. Malheureusement, je n'ai pas pu retrouver les partitions de l'époque. Je voulais tout de même faire cette reprise en exploitant le registre grave de ma voix.
Demo 3D - Da Vinci Resolve 17.3 free edition
มุมมอง 233 ปีที่แล้ว
On continue d'apprendre à utiliser le logiciel de montage vidéo DaVinci Resolve 17.3 version gratuite. Petit test de création d'une scène 3D avec une sphère sur laquelle on applique une texture représentant un sol aride. On y ajoutera ensuite un fond étoilé et pour agrémenter, un mouvement de rotation sur notre sphère.
SING (Travis) - Cover by Greg
มุมมอง 1383 ปีที่แล้ว
Guitar, bass, vocals, drums programming by GREG Video capture hardware : Lumix G80 Video editing software : DaVinci Resolve 17 (free version) Cover de la chanson "Sing" du groupe TRAVIS. C'est aussi ma première vidéo réalisée avec le logiciel de montage vidéo DaVinci Resolve 17 version gratuite.
Essai fond vert
มุมมอง 783 ปีที่แล้ว
Essai fond vert
Apercu ouvrage RETOUR VERS LE FUTUR
มุมมอง 383 ปีที่แล้ว
Apercu ouvrage RETOUR VERS LE FUTUR
HEY JUDE (The Beatles) - Cover by Greg
มุมมอง 1943 ปีที่แล้ว
HEY JUDE (The Beatles) - Cover by Greg
Recalbox 7.0 - EEPC 1015 PEM (Intel ATOM N550 double coeur 1,5 GHz, 2 Go RAM, 250 Go Disque Dur)
มุมมอง 8244 ปีที่แล้ว
Recalbox 7.0 - EEPC 1015 PEM (Intel ATOM N550 double coeur 1,5 GHz, 2 Go RAM, 250 Go Disque Dur)
Concert des THF au Sacobri - 19/09/2020 - Knocking on Heaven's Door feat. Ludo Desa
มุมมอง 494 ปีที่แล้ว
Concert des THF au Sacobri - 19/09/2020 - Knocking on Heaven's Door feat. Ludo Desa
compo
มุมมอง 204 ปีที่แล้ว
compo
Deftones - My Own Summer (Cover)
มุมมอง 954 ปีที่แล้ว
Deftones - My Own Summer (Cover)
"Whiskey in the Jar" par HARRY COVER - L'Orange Bleue 20/09/2019
มุมมอง 305 ปีที่แล้ว
"Whiskey in the Jar" par HARRY COVER - L'Orange Bleue 20/09/2019
J.-B.LOEILLET - Sonate op.3 N°4 - Concert Collégiale de Vitry le François 22/09/2019
มุมมอง 415 ปีที่แล้ว
J.-B.LOEILLET - Sonate op.3 N°4 - Concert Collégiale de Vitry le François 22/09/2019
"Messe pour les couvents" de F. COUPERIN - Concert Collégiale de Vitry le François 22/09/2019
มุมมอง 405 ปีที่แล้ว
"Messe pour les couvents" de F. COUPERIN - Concert Collégiale de Vitry le François 22/09/2019
"Hey Jude" par THE BEATBOX - Chateau de Goncourt le 07/09/2019
มุมมอง 2195 ปีที่แล้ว
"Hey Jude" par THE BEATBOX - Chateau de Goncourt le 07/09/2019
"Imagine" par THE BEATBOX - Chateau de Goncourt le 07/09/2019
มุมมอง 385 ปีที่แล้ว
"Imagine" par THE BEATBOX - Chateau de Goncourt le 07/09/2019
The Imperial March - Ciné Concert Star Wars - L'Empire Contre attaque - Zénith de Nancy 15/02/2019
มุมมอง 9605 ปีที่แล้ว
The Imperial March - Ciné Concert Star Wars - L'Empire Contre attaque - Zénith de Nancy 15/02/2019
Introduction du Ciné Concert Star Wars - L'Empire Contre attaque - Zénith de Nancy 15/02/2019
มุมมอง 11K5 ปีที่แล้ว
Introduction du Ciné Concert Star Wars - L'Empire Contre attaque - Zénith de Nancy 15/02/2019
EB1 - Hey Jude
มุมมอง 248 ปีที่แล้ว
EB1 - Hey Jude

ความคิดเห็น

  • @denisboutin4018
    @denisboutin4018 13 ชั่วโมงที่ผ่านมา

    Merci encore pour cette vidéo. Une petite question en passant: je ne comprends pas pourquoi le programme peut fonctionner à partir de l'adresse &1000 mais que les symbols redéfinis soient en vrac. En effet le code qu'on compile se retrouve bien en RAM à partir de &1000 (si on utilises org &1000) et il est bien appelable. D'après ce que tu dis, c'est un conflit avec ROM qui se trouve avant &3FFF mais dans ce cas pourquoi le programme peut lui se trouver sans problème en &1000?

  • @LuisDiaz-uu7xg
    @LuisDiaz-uu7xg 9 วันที่ผ่านมา

    Salut !! Super , toutes les videos sont tres claires et permettent d avancer a bon rytme. Rappel moi lobjectif, on va faire un petit jeu en mode texte a la fin c est bien ça ? SI c est le cas c est genial. Et vous devinez la suite, apres mode texte mode graphic avec des tuiles des sprites etc

    • @yreggor
      @yreggor 9 วันที่ผ่านมา

      Merci beaucoup pour ton commentaire ! Oui, l'objectif de cette série est bien de faire à la fin un petit jeu en mode caractère. Pour l'instant, ca restait assez général mais on va bientôt aborder des thèmes plus précis, déplacement d'un personnage, gestion des collisions... Mine de rien, avec ces quatre première vidéos, on peut déja travailler le décor et l'interface d'un jeu : à l'aide des boucles, du placement des caractères à l'écran et l'affichage des chaines de caractères, on peut déja s'amuser à tracer un contour qui délimite l'écran de jeu ou bien concevoir l'interface. La suite avec le passage en mode graphique, la gestion des sprites, oui, j'y pense déja. Si vous voulez déja apprendre cet aspect, vous avez l'excellent site d' @edouardberge qui est une mine d'or.

  • @edouardberge
    @edouardberge 9 วันที่ผ่านมา

    Des petits exemples fonctionnels, c'est ça qu'il faut! Bravo!

    • @yreggor
      @yreggor 9 วันที่ผ่านมา

      Exact, pour les débutants, ca leur permet d'avoir des petites victoires et de valider tout de suite ce qu'ils apprennent.

  • @Chris94-t2m
    @Chris94-t2m 10 วันที่ผ่านมา

    C'est quand même bien pratique les vecteurs, quoiqu'en disent les puristes.

    • @cr5331
      @cr5331 10 วันที่ผ่านมา

      Ca depends lesquels, essaye de tracer une ligne en asm, c'est pas plus rapide qu'en basic...

    • @CopperFrance
      @CopperFrance 9 วันที่ผ่านมา

      C'est normal que ça ne soit pas plus rapide vu que le basic utilise le même vecteur il faut comparer sur un traitement un peu plus complexe qui utilise plusieurs fonctions graphiques, boucles etc. et là même en C (avec une lib qui utilise les même vecteurs) c'est déjà un peu plus rapide (surtout quand on utilise pas de virgule flottante d'ailleurs)... Après c'est sur qu'on doit pouvoir faire des routines de ligne plus rapide en pur asm

    • @cr5331
      @cr5331 9 วันที่ผ่านมา

      @@CopperFrance je dis pas qu'on peut pas faire plus rapide, on fait beaucoup plus rapide en asm, d'où l'intérêt de couper le système et de faire ses propres routines surtout celles qui touchent la partie graphique du cpc !

    • @CopperFrance
      @CopperFrance 9 วันที่ผ่านมา

      C'est sur mais on peut aussi utiliser le système pour tout ce qui n'est pas critique et ne refaire que ce qui le nécessite... C'est d'ailleurs pareil pour le choix C + asm qui reste un bon compromis

    • @Chris94-t2m
      @Chris94-t2m 9 วันที่ผ่านมา

      @@cr5331 Évidement que pour tout ce qui touche aux graphismes, il vaut mieux se créer ses propres routines. Mais même dans The Shadows of Sergoth j'ai utilisé des vecteurs pour les couleurs et le clavier. Par contre TSOS2, que j'ai abandonné, était en overscan 32Ko à partir de &8000. Donc là il n'y avait plus de système du tout, et j'étais obligé de passer par les ports et le Gate-Array ou de faire appel aux routines ROM pour la lecture/écriture par secteurs disques, entre autres.

  • @jolletxavier7036
    @jolletxavier7036 10 วันที่ผ่านมา

    Le LD C,0 (en plus du LD B,0) est absolument nécessaire car tu ne sais pas ce qu'il peut valoir avant ton appel dans un cas 'normal' d'utilisation (pas un test rapide après reboot).

    • @cr5331
      @cr5331 10 วันที่ผ่านมา

      Le plus simple pour pas avoir de problèmes est encore de toujours définir BC LD BC,0 ou LD BC,21*256+21 ; b=21,c=21

    • @yreggor
      @yreggor 9 วันที่ผ่านมา

      Oui, merci pour cette confirmation.

  • @cr5331
    @cr5331 10 วันที่ผ่านมา

    Salut, petite inexactitude , la commande paper ne change pas la couleur du fond, mais change la couleur du fond de ton écriture, la commande qui change la couleur du fond de l'écran est ink 0,X ( et peut prendre 1 des 27 couleurs dispo, et aussi clignoter comme les autres ink) paper sert à "surligner" ton texte 10 MODE 1 20 PEN 2 : PAPER 3 : PRINT"Hello world !!" 30 PEN 1 : PAPER 2 : LOCATE 15,5 : PRINT"Hello world !!" 40 PEN 3 : PAPER 1 : PRINT"Hello world !!" 50 PEN 1 : PAPER 0 le fait que tu puisses changer la couleur du fond, c'est parce que tu fais un CLS après ton paper, en gros tu demandes de surligner, et tu effaces l'écran, si tu fais un paper 0, tu reviendras à la config de base de la couleur de "fond" BB96: Determine le stylo utilise pour " le fond des caracteres " texte (l'instruction PAPER du Basic)

    • @yreggor
      @yreggor 9 วันที่ผ่านมา

      Merci pour cette rectification. Je reviendrai sur ce point en début de la prochaine vidéo.

  • @denisboutin4018
    @denisboutin4018 19 วันที่ผ่านมา

    Excellent

  • @ahlex79gaming
    @ahlex79gaming 20 วันที่ผ่านมา

    Toujours aussi intéressant et bien expliqué, bravo.

    • @yreggor
      @yreggor 17 วันที่ผ่านมา

      Merci à toi 👍

  • @edouardberge
    @edouardberge 22 วันที่ผ่านมา

    "vous pouvez enlever les scanlines" => Mais ouiiiiiiiiii, pas de scanlines sur le CPC original ^_^ MERCI

  • @dehonhon
    @dehonhon 23 วันที่ผ่านมา

    merci . Je suis preneur des explications pour percer le mystère... au prochain épisode

  • @jolletxavier7036
    @jolletxavier7036 23 วันที่ผ่านมา

    Pour le deuxième problème, il s'agit peut-être de la gestion du SYMBOL AFTER du BASIC. Que remonte le vecteur : BBAE TXT_GET_M_TABLE ? A doit contenir la valeur du Symbol After. Si ce n'est pas 240, ca peut poser problème. Si c'est le cas, un appel à BBAB TXT_SET_M_TABLE pour fixer la zone mémoire utilisée par les surcharges des symboles devrait améliorer le point. Sinon, je crois que le Symbol After est fixé à 250 (de mémoire), est-ce que 255 au lieu de 240 corrige le problème ?

    • @CopperFrance
      @CopperFrance 22 วันที่ผ่านมา

      Par défault c'est SYMBOL AFTER 240. Utiliser BBAB TXT_SET_M_TABLE serait nécessaire par contre pour définir des caractères avant 240. Et sera indispensable si on fait un RUN d'un .BIN qui semble réinitialiser la table

    • @jolletxavier7036
      @jolletxavier7036 22 วันที่ผ่านมา

      @@CopperFrance Cela voudrait donc dire que le vecteur BBA8 TXT_SET_MATRIX n'utilise pas du tout la gestion BASIC et permet de mettre un pointeur pour chaque caractère ? Etrange mais possible vu le commentaire sur cpc-power. Je pensais qu'il n'y avait que 2 tables : la table en ROM et la table de redéfinition. Et donc dans ce cas oui : attention car BBA5 est en ROM et pense que les caractères redéfinis sont bien plus proche de la fin de mémoire BASIC, donc adresse de redéfinition > &4000 obligatoire. Ou bien de récupérer l'adresse officielle du caractère 240 via BBAE TXT_GET_M_TABLE pour mettre le caractère 'au bon endroit' directement et ne pas changer son emplacement pour le BASIC.

    • @CopperFrance
      @CopperFrance 22 วันที่ผ่านมา

      @@jolletxavier7036 Si il l'utilise mais par contre quand on appelle BBA8 TXT_SET_MATRIX on passe une adresse en RAM pour les données. Sauf qu'au moment ou la routine en ROM a besoin des données si celles-ci sont situées avant l'adresse &4000 il va les lire en ROM au lieu de les lire en RAM c'est pour ça qu'on obtient un caractère bizarre et que ça fonctionne quand on déplace le programme en &4000 (même si déplacer les données du caractère après &4000 serait suffisant).

    • @CopperFrance
      @CopperFrance 22 วันที่ผ่านมา

      ​@@jolletxavier7036​Si il l'utilise le problème étant que l'on fourni une adresse au vecteur BBA8 TXT_SET_MATRIX et il doit recopier les données au bon endroit seulement au moment ou cette copie s'effectue la ROM basse est connectée donc si l'on fourni une adresse < &4000 il recopie à partir de la ROM au lieu de la RAM. Ca explique pourquoi on obtient un caractère bizarre si l'adresse est < &4000 et pourquoi cela fonctionne si on fourni une adresse >= &4000. En théorie on doit aussi pouvoir recopier directement les données en utilisant un LDIR vers l'adresse fournie par BBA5 TXT GET MATRIX

    • @CopperFrance
      @CopperFrance 20 วันที่ผ่านมา

      @@jolletxavier7036 En fait il faut que la table et les données à mettre dans la table soient situés à partir de &4000... Ici il utilise la table du BASIC dont pas de souci pour l'adresse de celle-ci mais par contre pour les données ce n'était pas le cas sans mettre le ORG à &4000.

  • @brunokukulcan6430
    @brunokukulcan6430 23 วันที่ผ่านมา

    Les boucles en assembleur, ça m'a amusé un sacré bout de temps, encore bravo, explications très claires.

    • @yreggor
      @yreggor 17 วันที่ผ่านมา

      Ah, merci beaucoup :-) !

  • @fredericcoste1730
    @fredericcoste1730 23 วันที่ผ่านมา

    Petite remarque, un nombre en 16 bits peut aller de 0 à 65535. Mais autrement, chouette vidéo :)

  • @LuisDiaz-uu7xg
    @LuisDiaz-uu7xg 24 วันที่ผ่านมา

    Salut haaaa enfin hahaha Super le cours. J ai demand´´e a un prof de ASM ici a Barcelone, il me dit que les variables peuvent uniquement aller dans A et pas dans les autres regitres, c est structurel

    • @cr5331
      @cr5331 23 วันที่ผ่านมา

      on peut tricher, inverser les étiquettes ld hl,(ypos) ret ypos db 12 xpos db 20 ainsi, h=20 et l=12 ;)

    • @yreggor
      @yreggor 23 วันที่ผ่านมา

      @LuisDiazuu7xg : super, je me doutais bien. Merci pour cette confirmation.

    • @yreggor
      @yreggor 23 วันที่ผ่านมา

      @@cr5331 : Rhooo oui, joli l'astuce pour contourner cette limitation 🙂.

  • @CopperFrance
    @CopperFrance 24 วันที่ผ่านมา

    Effectivement il n'y a pas d'instruction LD H,(nn) ni LD L,(nn) par contre il y a une instruction LD HL,(nn)... Il doit donc être possible d'utiliser un LD HL,(YOBJET) mais il faudrait inverser l'ordre des DB (mettre YOBJET en premier)... Pour ton deuxième problème c'est sans doute une histoire de ROM basse commutée et donc si on met les données avant l'adresse &4000 c'est cette ROM qui doit être lue au lieu des données en RAM (Je crois que j'avais eu le même genre de soucis avec ma lib pour sdcc)

    • @Chris94-t2m
      @Chris94-t2m 24 วันที่ผ่านมา

      Énorme, je ne me rappelais pas qu'on pouvais commuter la ROM basse entre &0000 et &3FFF de la RAM. Ça se fait par le registre RMR du Gate-Array, celui qui permet aussi le changement de mode. Exemple : LD BC,&7F88 ; Bit 3 = 1 = ROM haute désactivée. Bit 2 = 0 = ROM basse activée. OUT (C),C

    • @yreggor
      @yreggor 23 วันที่ผ่านมา

      @CopperFrance : Avec ton explication et la précision dans un autre commentaire, je comprends mieux l'astuce pour contourner cette limitation. Merci 🙂 !

  • @Retr0Dref
    @Retr0Dref 25 วันที่ผ่านมา

    Toujours aussi intéressant 👍🏻 Vivement les suites

    • @yreggor
      @yreggor 25 วันที่ผ่านมา

      Merci ! La suite arrive très très bientôt.

  • @denisboutin4018
    @denisboutin4018 หลายเดือนก่อน

    Merci ! C est super clair. Vivement la suite

  • @sebastiengraille8758
    @sebastiengraille8758 หลายเดือนก่อน

    Merci beaucoup je me régale. Peut-être une idée d'amélioration : j'ai un petit écran d'ordi portable et j'ai du mal à lire le code assembleur, surtout les adresses en hexa. Si c'est possible d'agrandir un peu la partie du code à droite, car la partie gauche affiche surtout du bleu et occupe beaucoup l'écran.

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci beaucoup ! Ta remarque est pertinente. Je vais tacher d'améliorer cela dès la prochaine vidéo 🙂.

  • @LuisDiaz-uu7xg
    @LuisDiaz-uu7xg หลายเดือนก่อน

    hello c est quand la partie #3 ? hahaha Tu es le premier qui me donne envie de continuer assembleur, ca dit tout

    • @yreggor
      @yreggor หลายเดือนก่อน

      Bonjour ! ha ha ha, content de voir que mes vidéos te plaisent, ca me fait chaud au coeur cette remarque. Je tournerai l'épisode #3 la semaine prochaine, puis la posterai début de semaine d'après si tout va bien. Bonne continuation !

  • @MALACELESTE
    @MALACELESTE หลายเดือนก่อน

    j'aurais aimer la même chose pour le Commodore C64 mais finalement c'est peut être l'occasion de découvrir son cousin Anglais. Merci pour la découverte.

    • @yreggor
      @yreggor หลายเดือนก่อน

      Je vous conseille l'excellente chaine de @JeanMonos : www.youtube.com/@JeanMonos. Vous devriez trouver votre bonheur. Bonne continuation !

  • @Chris94-t2m
    @Chris94-t2m หลายเดือนก่อน

    C'est top, vous allez à l'essentiel sans vous perdre dans les modes d'adressage. Ça c'était l'horreur dans les livres d'assembleur. Pour le CP il faut le voir comme une soustraction en mémoire, c'est plus facile à retenir pour les flags. Par exemple si A = 1, alors CP 1 = 1 - 1 = 0 donc Z = 1. Et si A = 0, alors CP 1 = 0 - 1 = -1, donc la retenue C = 1, le signe négatif N = 1,...

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci pour votre commentaire. Oui, j'essaie d'aller à l'essentiel afin que ca reste accessible à tout le monde. Les explications sur le CP pourront être abordées dans une autre vidéo sur les optimisations de code par exemple. Mais oui, dans un premier temps, ca n'est pas essentiel.

  • @Chris94-t2m
    @Chris94-t2m หลายเดือนก่อน

    C'est pas simple de faire un bon cours d'assembleur, surtout sur CPC. Mais celui-là est vraiment bien amené 👍.

  • @botmsj
    @botmsj หลายเดือนก่อน

    35 ans en arrière j'aurais tout donné pour avoir ces tutoriaux ou ce professeur sur l'assembleur. Merci pour ces vidéos, même si elles arrivent avec quelques décennies de retard, ça reste instructif et divertissant.

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci pour votre commentaire. Moi aussi, j'aurai donné cher pour avoir toutes ces connaissances à cette époque. Mais nous n'avions pas les mêmes ressources. Internet n'existait pas, les seules sources d'infos étaient les magazines comme Amstrad100%, Hebdogiciel... Les logiciels pour programmer en assembleur n'étaient pas légion, etc... Bref.

    • @LoganCale
      @LoganCale หลายเดือนก่อน

      ​​@@yreggorpareil, si seulement j'avais eut ces explications à l'époque. La map mémoire qu'on était obligé de découvrir tout seul, la zone ecran,la zone de stockage du programme basic etc. Les "vecteurs" et "flags" qui etaient mystérieux pour nous. Merci pour ton tuto! Par contre je suis surpris je croyais que l'affichage d un texte serait plus rapide en asm qu'en basic. En fait la commande print basic appelle le meme vecteur qu on appelle en asm non?

    • @yreggor
      @yreggor หลายเดือนก่อน

      @@LoganCale : les vecteurs ne sont pas réputés pour être très rapides. Il y a donc des chances que le basic appelle ces mêmes vecteurs. C'est pour cela que les programmeurs expérimentés ne s'en servent plus une fois arrivés à un certain niveau et préfèrent réécrire leurs propres routines.

    • @LoganCale
      @LoganCale หลายเดือนก่อน

      @@yreggor ha ok je ne savais pas. Merci pour les explications !

  • @dehonhon
    @dehonhon หลายเดือนก่อน

    bonsoir, excellent . J'aurai aimé ( à l 'époque ) savoir coder sur mon Amstrad en assembleur . 40 ans après , c'est le cas.

    • @yreggor
      @yreggor หลายเดือนก่อน

      C'est exactement ce que je me suis dit il y a quelques mois. Et c'est ca qui m'a donné envie de faire ces vidéos. Merci pour votre commentaire 🙂 !

  • @elronn58
    @elronn58 หลายเดือนก่อน

    Vivement la suite, ces vidéos "pas à pas" sont parfaites pour ce mettre tranquillement à assembleur sur CPC

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci beaucoup ! Ton commentaire me fait très plaisir ☺.

  • @ahlex79gaming
    @ahlex79gaming หลายเดือนก่อน

    Merci pour ce nouvel épisode !

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci bien 🙂 !

  • @patrickmaes-y6k
    @patrickmaes-y6k หลายเดือนก่อน

    Bonjour, Vidéo intéressante toute fois celle ci s'adresse aux débutants. Il faut donc je pense leur donner de bonnes bases. On ne compare pas l'accumulateur avec cp 0 c'est très mauvais. Bonne continuation

    • @yreggor
      @yreggor หลายเดือนก่อน

      Bonjour, Merci pour votre remarque. J'avais lu sur certains sites qu'effectivement, CP 0 hérissait le poil de certains codeurs. Néanmoins, je ne vois pas en quoi cela est gênant à partir du moment ou le code fonctionne malgré tout. Si vous avez l'explication du pourquoi il ne faut pas comparer l'accumulateur avec CP 0, je suis preneur. Je sais qu'il y a des optimisations possibles par le biais d'autres instructions ou bien j'aurai pu prendre un caractère différent, mais je pense que ca fera l'objet d'une vidéo spécifique avec les différentes astuces d'optimisation de code. J'en profiterai à ce moment là pour expliquer pourquoi il vaut mieux éviter de faire un CP 0 avec le registre A. Bonne continuation aussi 🙂 !

    • @cr5331
      @cr5331 หลายเดือนก่อน

      @@yreggor salut, bravo pour ton excellent 2éme épisode. c'est un peu la guerre entre codeurs, le CP et le OR , une histoire de timing, même si de mémoire les 2 instructions prennent 1 à 2 NOP le CP fait en interne un A-n , et n'affecte pas le registre A le OR quant à lui est une opération mathématique (booléenne) , il affecte le registre A si la condition de sortie est que A=0, les 2 se valent, par contre si par hasard tu voudrais que ta condition de sortie soit A=255, le OR ne fonctionne plus pire il modifierait la valeur de A, et afficherait n'importe quoi, donc l'utilisation du CP pour débuter est la meilleure des solutions, après ça reste de la prog avancée et de l'optimisation, ce qui dans le cas de l'apprentissage n'as pas lieu. étonnant qu'il ne t'ai pas engueulé parce-que tu utilises les vecteurs système ... et si jamais on te pose la question de pourquoi ta condition de sortie serait différent de A=0, dis-leur que tu veut utiliser les caractères de contrôle pour tes textes, ça devrait les calmer ;) sur ce, hâte de voir la suite, et MERCI !!!

    • @yreggor
      @yreggor หลายเดือนก่อน

      @@cr5331 : merci beaucoup pour ce retour qui me fait très plaisir et ton explication. Je comprends son commentaire et je ne lui en veux pas. C'est d'ailleurs aussi le but, qu'on puisse échanger via les commentaires.

    • @CopperFrance
      @CopperFrance หลายเดือนก่อน

      Effectivement ce n'est pas très optimisé CP 0 est un cas particulier que l'on préférera remplacer par un OR A afin de mettre à jour les flags (qui ne sont pas mis à jour avec LD A,(HL) ce qui serait bien pratique d'ailleurs)... L'avantage c'est que OR A ne prend qu'un seul octet et un seul NOP (contre 2 octets et 2 NOP pour CP 0). Par contre c'est pas grave pour débuter je pense. D'autre part sur CPC (à cause des cycles arrondis) JR et JP prennent 3 NOP mais JR ne prend que 2 octets donc c'est plus intéressant d'utiliser JR quand c'est possible...

  • @cpcepower6786
    @cpcepower6786 หลายเดือนก่อน

    Hello, Bravo pour cette vidéo ;-) Petite précision sur le coding... Dans ta boucle qui affiche le message, il a déjà un RET Z qui va retourner après le test a = 0... à ton call du basic par exemple... Donc dans ce cas là pas besoin de RET de ta fonction d'écriture de message... ;-) Bonne continuation

    • @yreggor
      @yreggor หลายเดือนก่อน

      Bonjour ! Ah oui, effectivement. Merci pour cette remarque.

  • @Retr0Dref
    @Retr0Dref หลายเดือนก่อน

    Très intéressant et fluide. A quand la suite ?

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci ! La suite devrait arriver la semaine prochaine. J'ai terminé les scripts des épisodes 2 et 3.

  • @scatogameur9538
    @scatogameur9538 หลายเดือนก่อน

    Très chouette vidéo. Merci. Je comptais ma soirée à jouer à du rétro. Finalement, j'ai programmé du rétro :-) A quand la suite? Petit question : On doit toujours placer les programmes à l'adresse 1000? Y a-t-il un intérêt de placer le programme à une autre adresse ?

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci ! Pour l'adresse, vous êtes libre de la changer. L'adresse 1000 est arbitraire. C'est juste plus facile de la retenir. Placer le programme à une autre adresse aura un intérêt le jour où on aura besoin de toute l'espace mémoire disponible pour stocker toutes nos données, notamment si on fait des jeux avec des sprites. Là, on aura besoin d'organiser notre code. Pour l'instant, on est sur de tout petits programmes.

  • @Kenshiro72
    @Kenshiro72 หลายเดือนก่อน

    Merci pour cette vidéo, c’est très clair et interessant 👍

    • @yreggor
      @yreggor หลายเดือนก่อน

      @@Kenshiro72 Merci 🙂 !

  • @classicalmusical-fp9zo
    @classicalmusical-fp9zo หลายเดือนก่อน

    Génial!!!! Merci et vivement la suite! Très clair et didactique.

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci 🙂 !

  • @CatLinux69
    @CatLinux69 หลายเดือนก่อน

    Bonjour. Superbe vidéo. Par contre & n'est pas un caractère "ET", mais s'appelle Esperluette.

    • @yreggor
      @yreggor หลายเดือนก่อน

      Bonjour ! Je ne savais pas. Merci !

    • @CatLinux69
      @CatLinux69 หลายเดือนก่อน

      @@yreggor Ce n'est pas grave, je taquine. Je l'ai su en cours de programmation avec un professeur à cheval sur ces termes. Bravo pour l'assembleur, je me suis tours demandé comment c'était possible d'arriver à faire un jeu avec un langage aussi complexe.

    • @CatLinux69
      @CatLinux69 หลายเดือนก่อน

      @@yreggor Et le trret de soulignement/tiret du bas, s'apelle Underscore. :D

  • @dehonhon
    @dehonhon หลายเดือนก่อน

    merci pour cette vidéo

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci 🙂 !

  • @ludovicthomas630
    @ludovicthomas630 หลายเดือนก่อน

    Merci c'était très sympa, vivement la suite :)

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci 🙂 !

  • @christof5416
    @christof5416 หลายเดือนก่อน

    merci ! vivement la suite !

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci 🙂 !

  • @reginaldodeoliveira1817
    @reginaldodeoliveira1817 หลายเดือนก่อน

    Bonne initiative, vivement lá suite

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci 🙂 !

  • @Commodoreretro-programming
    @Commodoreretro-programming หลายเดือนก่อน

    Sympa ce petit tuto Z80. :)

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci bien 🙂 !

  • @onevision34
    @onevision34 หลายเดือนก่อน

    Merci pour cette initiative. Je cherchais aussi des cours d'ASM clairs en français. Vivement la partie sur les sprites et scrollings !

    • @yreggor
      @yreggor หลายเดือนก่อน

      Pour les sprites, ca viendra beaucoup, beaucoup plus tard. Je maitrise à peine leur affichage. Quant aux scrollings, là, je suis en demande. J'essaie de trouver des sources sur les scrollings de décors mais c'est très dur de trouver de bonnes infos là dessus.

  • @Greg_Os
    @Greg_Os หลายเดือนก่อน

    Tres bonne initiative !!

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci 🙂 !

  • @ahlex79gaming
    @ahlex79gaming หลายเดือนก่อน

    Excellent, j'ai tout compris alors que je n'ai jamais codé (à part quelques notions de Basic). Hâte de découvrir la suite !

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci pour ton commentaire. Ca me fait très plaisir !

  • @LoganCale
    @LoganCale หลายเดือนก่อน

    Merci pour ta video ! Vivement la 2eme!

    • @yreggor
      @yreggor หลายเดือนก่อน

      Super ! Merci beaucoup !

  • @cr5331
    @cr5331 หลายเดือนก่อน

    Attention, AF n'est pas un registre 16 bits, on ne peut pas définir LD AF,&C000 ... c'est l'assemblage du regitre A 8bits, et du FLAG il existe 2 autres registres 16 bits, IX et IY

    • @yreggor
      @yreggor หลายเดือนก่อน

      OK. Merci pour la rectification.

  • @tertis74
    @tertis74 หลายเดือนก่อน

    Thank you very much for this!!!! I will follow you. Greetings from Greece.

    • @yreggor
      @yreggor หลายเดือนก่อน

      Happy to see fans from Greece. Thank you very much.

  • @starsk13
    @starsk13 หลายเดือนก่อน

    Cool, je regarderais ca

    • @yreggor
      @yreggor หลายเดือนก่อน

      Merci !

  • @DarkArcade_
    @DarkArcade_ 8 หลายเดือนก่อน

    Merci pour le retour !!!! Vraiment un très bon weekend pour cette AC2024 avec une organisation aux petits oignons comme d'hab !!!!

    • @yreggor
      @yreggor 8 หลายเดือนก่อน

      Content aussi de t'avoir rencontré. Cette convention aura été très sympa. Par contre, désolé de ne pas avoir pu inclure l'extrait d'Airwolf. J'ai eu un souci avec la vidéo 😅.

    • @DarkArcade_
      @DarkArcade_ 8 หลายเดือนก่อน

      @@yreggor Aucuns soucis 😀😀

  • @MelissaDeleen
    @MelissaDeleen 2 ปีที่แล้ว

    Imagine the feeling of being there!!! Absolutely amazing!! 💯

  • @laurentsmolarski1172
    @laurentsmolarski1172 3 ปีที่แล้ว

    Pour le coup c'est un voyage inattendu !!! Joli !!