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
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
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 :)
De bons souvenirs. Merci.
@RetroProgrammation-fq1cv
12 күн бұрын
Avec plaisir
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
29 күн бұрын
Un grand merci !
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....
Très bonne vidéo, super facile à comprendre.
@RetroProgrammation-fq1cv
29 күн бұрын
C'est le but ! Merci
Yeah, sympathique cette vidéo. GG
@RetroProgrammation-fq1cv
Ай бұрын
Merci 😁
C'est clair... Vivement la suite !!!
@RetroProgrammation-fq1cv
29 күн бұрын
je la prépare...
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
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).
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
23 күн бұрын
Merci... Moi je n'ai jamais touché au Z80, uniquement le 6510 et ensuite les 80xx
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
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
The MOS 6502 was NOT a Motorola processor. It was made by MOS which was owned by Commodore later on.
@RetroProgrammation-fq1cv
Ай бұрын
Oups, je sais pas pourquoi je suis parti sur motorola ... Ca le fait moyen pour une première vidéo :D
@TheHighlander71
Ай бұрын
@@RetroProgrammation-fq1cv Not to worry. Maybe you can add an information card to the video.
@RetroProgrammation-fq1cv
Ай бұрын
Correction faite... KZread recompile la vidéo
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
28 күн бұрын
C'est un plaisir de partager ma passion :)
@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)
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
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
28 күн бұрын
@@RetroProgrammation-fq1cv Si tu prévois d'aborder plus tard le VIC2 le programme risque d'être chargé :)
@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
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
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.
Sorry ! rien compris !!! 🤔pas assez pedagoGEEK !🤫 Bref, mon 1er ordi fût un C64 et quelle machine !! c'est déjà ça !
@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
Merci de nous faire la lecture mais je ne vois pas trop l’intérêt de ce genre de vidéos.
@RetroProgrammation-fq1cv
16 күн бұрын
Félicitation, tu es mon premier hater ^_^