6502-6510 - Comment il(s) fonctionne(nt) ?

Sdílet
Vložit
  • čas přidán 28. 05. 2024
  • Avec cette vidéo, je commence une nouvelle série qui sera dédiée au fonctionnement interne du processeur 6502 et par extension le 6510 du commodore 64.
    On commence nécessairement par un peu de théorie sur la bête, mais dès la prochaine fois, on verra de manière plus ludique comment le CPU gère les commandes et les données en mémoire pour exécuter vos programmes.
    Comme je pense également créer un émulateur du CPU 6502 sous C# (oui c'est un peu mon langage préféré après l'assembleur du C64), et dans l'éventualité ou cette série de vidéos vous intéresse, je mettrai également en ligne la création de cet émulateur, ce qui sera aussi formateur pour vous comme pour moi sur le fonctionnement interne du MOS-6502.
    Quoi qu'il en soit, si cette série vous intéresse, merci pour le coup de pouce en l'air, ça fait toujours plaisir, et n'hésitez pas à me faire part de vos commentaires, ce qui me permettra aussi de m'améliorer et d'ajuster les prochains épisodes.
    N'oubliez pas non plus de vous abonner pour être prévenus lors de la mise en ligne des prochaines vidéos de la chaine.
    Dans cette vidéo, j'ai affiché un bon nombre de captures de sites internet dont voici la liste :
    6502 Architecture
    www.6502.org/users/obelisk/650...
    6502/6510/8500/8502 Opcode matrix:
    www.oxyron.de/html/opcodes02....
    Commodore 64 BASIC ROM Disassembly
    www.ffd2.com/fridge/docs/c64-d...
    C64 Memory Map
    sta.c64.org/cbm64mem.html
    C64 ROM Memory Map
    skoolkid.github.io/sk6502/c64...
  • Hry

Komentáře • 41

  • @ericpro5968
    @ericpro5968 Před 15 dny +2

    Super vidéo ! A l'époque mes camarades et moi étions des fans du Z80 de Zilog, des PIO, SIO associés et c'était la petite "guéguerre" avec les adeptes du 65xx. Chacun des 2 processeurs avait ses avantages et ses inconvénients. Enfin ça date tout ça ;) Merci pour ce sympathique retour dans ma jeunesse et pour cette explication claire et précise du fonctionnement interne de ce bon vieux processeur. 👍

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 15 dny

      Merci pour ton retour, ça fait plez !
      Je me souviens plus d'une guéguerre entre ceux qui avaient un Amstrad et ceux qui avaient un Commodore plus qu'à propos du processeur, mais oui, c'était le temps béni où la micro informatique commençait à arriver dans nos foyers... et justement ça faisait bien avancer les choses puisque chacun poussait toujours plus loin les capacités des bécanes :)

  • @brunorobin9787
    @brunorobin9787 Před 12 dny +1

    De bons souvenirs. Merci.

  • @sergeh.3640
    @sergeh.3640 Před 19 dny +1

    J'ai apris l'assembleur du 6502 sur mon Apple IIe, en 1985. C'est un microprocesseur proche de celui utilisé dans les cartes à puces (6805) à l'époque.... depuis, et grâce à lui, je travaille dans les cartes à puce....

  • @OlivierSimpleLife
    @OlivierSimpleLife Před 29 dny +3

    Excellente video, car tu focalises directement sur les points essentiels et critiques pour l'apprentissage de l'assembleur du 6502/6510. Idéalement ce serait bien que tu dédies une video au status register dont la compréhension des différents flags (l'overflow en particulier) est sous-estimée par les débutants. J'attends la suite avec impatience. Bon boulot !

  • @ChristopheGuery
    @ChristopheGuery Před 29 dny +1

    Très bonne vidéo, super facile à comprendre.

  • @ispacequelquechose3163
    @ispacequelquechose3163 Před 29 dny +1

    C'est clair... Vivement la suite !!!

  • @JeanMonos
    @JeanMonos Před měsícem +1

    Yeah, sympathique cette vidéo. GG

  • @cedricserieys9768
    @cedricserieys9768 Před 23 dny +1

    J'ai pas mal oeuvré sur le Z80 l'époque et je me suis mis au 6502 pour papoter avec l'Atari 2600 et j'avoue que c'est le processeur le plus agréable à utiliser et très intelligemment conçu, loin de l'usine à gaz de chez Zilog.
    Et pour "l'erreur" avec Motorola, ça n'est pas bien grave, le 6502 étant à l'origine un clone du 6800, pas de soucis de mon côté.

  • @jacquesperrousset5675
    @jacquesperrousset5675 Před 28 dny +1

    Vraiment bien cette vidéo et tout les amateurs de c64 savent que le processeur est un MOS donc pas de panique ça n'enlève rien à la grande qualité de cette description. Et merci.

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 28 dny

      Tout à fait, mais j'ai corrigé quand même, comme ça, plus de confusion (même si en fait les plan du CPU produit par MOS ont été à l'origine ceux de chez Motorola qui finalement ne l'a pas produit).

  • @TheHighlander71
    @TheHighlander71 Před měsícem +2

    The MOS 6502 was NOT a Motorola processor. It was made by MOS which was owned by Commodore later on.

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před měsícem +1

      Oups, je sais pas pourquoi je suis parti sur motorola ... Ca le fait moyen pour une première vidéo :D

    • @TheHighlander71
      @TheHighlander71 Před měsícem

      @@RetroProgrammation-fq1cv Not to worry. Maybe you can add an information card to the video.

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před měsícem

      Correction faite... CZcams recompile la vidéo

  • @davidtcheki7685
    @davidtcheki7685 Před 22 dny +1

    Merci pour cette petite série vidéo bien sympathique !
    Petite question :
    Concernant les "bloc" mémoire, ici on parle de "page" mais parfois on utilise aussi le terme de "bank". Est ce que ces 2 termes sont équivalents ou y a t'il une subtilité entre les 2 d'un point de vue conceptuel ?

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 21 dnem +1

      Bonjour, merci pour ton retour, ça fait plaisir.
      Alors les pages, sur le 65xx ce sont les blocs de 256 octets. Il y en a 256 sur le C64 (256*4=1ko donc 256 * 4 * 64 = 256 * 256 = 65536 octets : 64ko)
      Les banks, c'est autre chose. Ce sont des blocs de 16ko, donc 64 pages, adressables par le processeur graphique VIC II
      En effet, il ne peut accéder qu'à 1 seule "bank" à la fois. Par défaut, il n'accède qu'aux données situées entre $0000 et $3fff. Ce qui explique également qu'il existe une ShadowROM de la table de caractères (charset memory) en bank0 entre $1000 et $1fff qui correspond à une copie de la ROM entre $d000 et $dfff (tout comme il existe une copie ShadowROM en bank2 entre $9000 et 9fff
      Je ferai peut-être une petite vidéo un de ces 4 pour expliquer les banks ... avec cette particularité de shadowROM de la Charset memory

  • @DjOddEssA
    @DjOddEssA Před 28 dny +1

    Très bonne vidéo, j'attend la suite avec intérêts.
    L'erreur entre MOS TECHNOLOGY et MOTOROLA quand même... sacré lapsus mais excusable, MOTOROLA ayant une numérotation commençant par 68xx sur sa gamme et MOS par 65xx.
    MOTOROLA ayant également fabriqué des 6502 "personnalisées" sous licence, (tout comme RICOH pour la Nintendo FAMICOM -NES par exemple), l'erreur pouvait aisément se commettre.
    Après les 65xx, 68xx, serait-il possible d'aborder la famille Z80 et la famille 803x - 805x - 808x ?
    Malgré mon jeune âge (26 ans), j'emploie nombre de ces processeurs dans mes réalisations, toujours en les programmant en assembleur.
    Bonne continuation.

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 28 dny +1

      Alors, moi, je suis de la génération Commodore 64... Du coup, je ne connais pas vraiment le Z80 !
      J'ai démarré cette série sur le 65xx pour compléter mes autres vidéos sur le développement en assembleur sur le C64, car, pour coder bien, il faut savoir comment ça fonctionne à l'intérieur dedans de la bébête ^_^

    • @OlivierSimpleLife
      @OlivierSimpleLife Před 27 dny +1

      @@RetroProgrammation-fq1cv Si tu prévois d'aborder plus tard le VIC2 le programme risque d'être chargé :)

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 27 dny

      Déjà... Faut que je trouve de la Doc... Et ça, il y en a pas beaucoup ou alors c'est tellement vague que c'est incompréhensible ou inutilisable!
      Peut-être en regardant les docs de Vice mais il me faudra du temps pour ingurgiter tout ça

    • @OlivierSimpleLife
      @OlivierSimpleLife Před 27 dny +1

      @@RetroProgrammation-fq1cv Oui c'est très long. La doc la plus complète (mais en anglais et pas toujours très didactique) et l'article sur le vic2. La difficulté tient au fait qu'il y a plusieurs aspects à prendre compte, mais c'est toujours un peu la même chose : D'abord avoir une bonne compréhension de l'adressage mémoire du VIC2 (comment le configurer) et ensuite les différents modes d'affichages et comment ils sont impactés par le choix de l'adressage mémoire. Peut être qu'une étape de transition serait d'expliquer la configuration mémore du C64, montrer qu'il est possible d'unmapper le kernel et la rom basic. Pour ensuite se diriger vers la configuration mémoire du vic2 et les modes d'affichages + sprites. Tout ce qui concerne le scrolling peut venir ensuite.

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 27 dny +1

      @OlivierSimpleLife Je pensais que tu parlais du fonctionnement du GPU en fait... avec toutes les histoires de bad lines ...
      Pour le reste, pas de soucis, du scrolling horizontal, vertical, du multi page, du screen split,... Tout ça, je maitrise déjà pas mal, vu que j'utilise dans mes développements.

  • @hervemarie966
    @hervemarie966 Před 28 dny +2

    Sympa cette vidéo qui me ramène à mes belles années avec Commodore (un Amiga 2000 pour ma part, incroyable machine pour l'époque). J'avais aussi un Oric Atmos équipé d'un 6502, qui a succédé à mon ZX-81... Vive le code assembleur :-) Merci pour cette bouffée de souvenirs, je vais suivre les prochaines vidéos ;-)"

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 28 dny +1

      C'est un plaisir de partager ma passion :)

    • @sauldetarse2339
      @sauldetarse2339 Před 19 dny +1

      zx81, mon premier ordinateur mais 6502, le premier proc quej'ai eu à programmer en asm dans un contexte professionnel pour des applications militaire.
      effectivement, merci pour ces souvenirs (meme si j'ai preferé un peu plus tard la famille bien entendu de generation différente des 68000)

  • @theedge1866
    @theedge1866 Před 10 dny +2

    Sorry ! rien compris !!! 🤔pas assez pedagoGEEK !🤫
    Bref, mon 1er ordi fût un C64 et quelle machine !! c'est déjà ça !

    • @RetroProgrammation-fq1cv
      @RetroProgrammation-fq1cv  Před 10 dny +3

      Regardez la seconde vidéo, c'est plus parlant en visuel...
      Sinon, "Rien compris", je penses que vous exagérez... Merci de préciser ce qui n'est pas clair ! Les commentaires sont là pour ça, entre-autre, et je réponds à tout le monde, même à mon premier hater de la semaine dernière :D

  • @dimitriauer1901
    @dimitriauer1901 Před 16 dny

    Merci de nous faire la lecture mais je ne vois pas trop l’intérêt de ce genre de vidéos.