un 6502 à 100 Mhz !

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Carl, Papy.G, fneck

Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

Bernouilli92 a écrit : 05 mai 2022 10:42
The Verilog 65C02 softcore used in the 65F02 was developed by Arlet Ottens as a 6502 core, and enhanced by Ed Spittles and David Banks to support the 65C02 extensions. I just made minor changes to add the SYNC output and SO input. The source code for Arlet’s original 6502 version is available on Arlet’s site, the extended 65C02 version is on github, and discussion about the core can be found on the 6502.org forum.
Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

Sinon il semblerait que tout y est pour en recréer un : gerber, schéma et PCB, source/binaire pour le FPGA. Dans un registre plus complexe, on peut aussi imaginer de pouvoir faire une version 6809 (ou 6309) et Z80 en redéployant les signaux et en utilisant un soft core existant à adapter.
Zebulon
Messages : 1617
Inscription : 02 nov. 2020 14:03

Re: un 6502 à 100 Mhz !

Message par Zebulon »

Selon l'auteur:
Chess computers
We have focused on Mephisto chess computers first, since these are at the center of Roland’s collector’s interest. But many others are on the wishlist, including Fidelity (Elite A/S Budapest and Glasgow, Prestige, Avantgarde), Novag (Super Constellation, Super Expert C), SciSys (Turbostar), …
  • Mephisto MM II and B&P
  • Mephisto MM IV, MM V, Rebel Portoroz (MM X)
  • Mephisto Polgar
  • Mephisto Milano and Nigel Short
  • Mephisto Rebell 5.0
  • Novag Constellation Forte A/B
  • Chafitz ARB (various Sargon versions) and MGS
D'où ma remarque après celle de Sam concernant le potentiel d'accélération des ordinateurs d'échecs qui ont très peu recours aux I/O et font beaucoup de calculs en mémoire. Concrètement cela permet de booster un vieil ordinateur dont le meilleur niveau mettrait plusieurs heures à jouer chaque coup en lui faisant jouer en quelques minutes. Idem pour des analyses de position. Bon aujourd'hui c'est peut-être un peu gadget car les joueurs d'échecs utilisent des softs sur PC. Moi j'utilise un bon vieux Fritz des familles qui date de plusieurs années mais c'est bien suffisant pour me prendre une râclée. :D
Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

Alors plusieurs choses :
- si l'ordinateur n'utilise pas la RAM (et a fortiori la ROM aussi) en dehors de son CPU, on peut utiliser la "RAM" du FPGA et cela constituera un formidable boost.
- si l'ordinateur utilise la RAM en dehors de son CPU, on peut mettre en cache dans la "RAM" du FPGA au moins pour la lecture (l'écriture se faisant à la fois dans la RAM interne et externe au FPGA en vitesse normale). L'opcode fetching ou la lecture d'un octet en RAM sera considérablement boosté.
- penser que l'accès aux I/O constitue la majorité du temps d'exécution d'un programme me paraît excessif. On peut "ralentir" uniquement durant le cycle lecture/écriture de "mémoire" I/O (cycle dans lequel le CPU signale un accès mémoire spécifiquement I/O), or ce ne doit pas constituer la majorité des cycles dépensés par le CPU.

Certes, certains "driver" I/O peuvent se servir des boucles temporelles qui se basent sur des cycles CPU. Cela peut effectivement exiger des patches sur des ROM ou pire sur des programmes en RAM.

Dans un autre registre, ça peut permettre l'extension du jeu d'instruction mais ça s'est une autre histoire.

Enfin, j'imagine qu'on a la possibilité d'avoir l'exécution normale.
Notator
Messages : 862
Inscription : 09 août 2015 20:13
Localisation : Lyon

Re: un 6502 à 100 Mhz !

Message par Notator »

Bernouilli92 a écrit : 04 mai 2022 22:40
Notator a écrit : 06 avr. 2022 15:44 Pour être plus juste, ce n'est pas un 6502, c'est une émulation de 6502 sur FPGA...
Pour être plus juste, ce n'est pas une émulation de 6502 sur FPGA mais une implémentation de 6502 sur FPGA.
Ça fait un moment que je n'avais pas consulté ce sujet. :)
Puisqu'on en est au pinaillage de termes, autant aller jusqu'au bout de la recherche d'exactitude lexicale. :wink:

Le mot 'implantation' indiqué par Hlide serait en l'occurrence le plus pertinent, puisque les cellules du FPGA sont configurées pour reproduire le fonctionnement hardware du microprocesseur concerné.
C'est d'ailleurs ce mot-là que l'usage a consacré.

incidemment, une formulation de terminologie moins rigoureuse, mais très parlante, serait de parler d' 'émulation hardware'.

'Implémentation' définit l'installation d'un logiciel adapté pour un but défini, de même que 'émulation' serait la simulation par programme du fonctionnement du 6502.
Or, nous venons de le voir, le fonctionnement du 6502 est réalisé matériellement (en mode hardware) par les cellules du FPGA correctement configurées.


Sinon, autre point de réflexion, le remplacement d'un 6502 par une version FPGA n'est pas sans présenter quelques difficultés.
Si on s'en tient à l'utilisation pour un jeu d'échecs, la durée des coups deviendrait fausse.
Et sur un plan plus général, je me demande si le nombre de cycles nécessaire à chaque instruction, sur la version FPGA est strictement identique à celui du 6502. Selon le programme d'application, cela nécessiterait des modifs...
Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

Oui, tout-à-fait, il n'y a pas de garantie qu'un "soft core" reproduisant un CPU soit le parfait clone en tout point d'un réel. Si on prend le cas de MiSTer, le "core" reproduit très rarement tous les composants d'un ordinosaure à l'identique dans le moindre détail. Par exemple, je doute fortement que le problème de rafraichissement de la DRAM soit reproduit. :)

En ce qui me concerne, j'accepte très bien le terme "émulation hardware" qui n'est pas la même chose que "émulation software" (exemple: MAME). Dans les deux cas, il s'agit de "faire aussi bien ou mieux que l'original" quelque soit l'aspect technique.
Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

Ah mince !

Il y a beaucoup plus de composants que je ne pensais, ça va être sûrement impossible de faire faire le montage par JLCPCB ou par PCBWAY avec deux faces. Et je n'ai même pas vérifié combien de couche a le circuit imprimé.

Sinon, l'accès aux sources pour ce projet n'est plus. Moi qui pensais regarder comment m'en faire un, c'est compromis.
65f02.png
65f02.png (656.95 Kio) Consulté 961 fois
Avatar de l’utilisateur
meridian
Messages : 1074
Inscription : 01 sept. 2014 13:10
Localisation : Seine-Saint-Denis

Re: un 6502 à 100 Mhz !

Message par meridian »

hlide a écrit : 06 mai 2022 13:23 Sinon, l'accès aux sources pour ce projet n'est plus. Moi qui pensais regarder comment m'en faire un, c'est compromis.
y a ça

et pour http://ladybug.xs4all.nl/arlet/fpga/6502/ web.archive est ton ami

Par contre les soudures ont l'air vraiment, mais vraiment petites
Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

Je fais allusion à ce lien http://www.e-basteln.de/file/65f02/S6-6 ... 201122.zip qui n'est plus. En somme le vrai projet contenant ce qu'il faut pour recréer le bitstream de 65f02.
Avatar de l’utilisateur
gleike
Messages : 1052
Inscription : 16 oct. 2014 11:12
Localisation : Ludres (54710) Meurthe & Moselle

Re: un 6502 à 100 Mhz !

Message par gleike »

Tout est disponible ici http://www.e-basteln.de/computing/65f02/65f02-links/
Comme l'indique la page de l'erreur 404, le site a été réorganisé et les liens ont été déplacés.
Avatar de l’utilisateur
hlide
Messages : 2680
Inscription : 29 nov. 2017 10:23

Re: un 6502 à 100 Mhz !

Message par hlide »

C'est exactement à cet endroit que j'ai cherché en vain à obtenir le source nécessaire à la recréation de ce bitstream. Comme je ne sais pas depuis quand cette erreur existe, j'ai peur que ce soit intentionnel car les reste semble disponible. Quoiqu'il en soit, j'ai contacté l'auteur. On verra donc.
Avatar de l’utilisateur
pascalien
Messages : 665
Inscription : 21 janv. 2019 23:40
Localisation : 93200 ST DENIS
Contact :

Re: un 6502 à 100 Mhz !

Message par pascalien »

https://fuse.wikichip.org/news/6648/rei ... h-for-iot/

Ceux qui pronent la décroissance vont être content. 74 kHz!
Répondre