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

Ойындар

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...

Пікірлер: 41

  • @ericpro5968
    @ericpro596816 күн бұрын

    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

    16 күн бұрын

    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
    @brunorobin978712 күн бұрын

    De bons souvenirs. Merci.

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    12 күн бұрын

    Avec plaisir

  • @OlivierSimpleLife
    @OlivierSimpleLifeАй бұрын

    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 !

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    29 күн бұрын

    Un grand merci !

  • @sergeh.3640
    @sergeh.364020 күн бұрын

    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....

  • @ChristopheGuery
    @ChristopheGueryАй бұрын

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

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    29 күн бұрын

    C'est le but ! Merci

  • @JeanMonos
    @JeanMonosАй бұрын

    Yeah, sympathique cette vidéo. GG

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    Ай бұрын

    Merci 😁

  • @ispacequelquechose3163
    @ispacequelquechose3163Ай бұрын

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

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    29 күн бұрын

    je la prépare...

  • @jacquesperrousset5675
    @jacquesperrousset567529 күн бұрын

    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

    29 күн бұрын

    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).

  • @cedricserieys9768
    @cedricserieys976824 күн бұрын

    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é.

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    23 күн бұрын

    Merci... Moi je n'ai jamais touché au Z80, uniquement le 6510 et ensuite les 80xx

  • @davidtcheki7685
    @davidtcheki768523 күн бұрын

    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

    22 күн бұрын

    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

  • @TheHighlander71
    @TheHighlander71Ай бұрын

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

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    Ай бұрын

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

  • @TheHighlander71

    @TheHighlander71

    Ай бұрын

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

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    Ай бұрын

    Correction faite... KZread recompile la vidéo

  • @hervemarie966
    @hervemarie96628 күн бұрын

    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

    28 күн бұрын

    C'est un plaisir de partager ma passion :)

  • @sauldetarse2339

    @sauldetarse2339

    20 күн бұрын

    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)

  • @DjOddEssA
    @DjOddEssA28 күн бұрын

    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

    28 күн бұрын

    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

    28 күн бұрын

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

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    28 күн бұрын

    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

    28 күн бұрын

    @@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

    27 күн бұрын

    @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.

  • @theedge1866
    @theedge186611 күн бұрын

    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

    11 күн бұрын

    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
    @dimitriauer190117 күн бұрын

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

  • @RetroProgrammation-fq1cv

    @RetroProgrammation-fq1cv

    16 күн бұрын

    Félicitation, tu es mon premier hater ^_^

Келесі