Remplacer l'ASIC des Amstrad par un FPGA ?

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

gotcha
Messages : 2759
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Remplacer l'ASIC des Amstrad par un FPGA ?

Message par gotcha »

Hello,

Le gros problème avec la série CPC 6128+/GX4000 est que quand l'ASIC (en bas à droite de la photo) est mort, on ne peut rien faire.

Cet ASIC intégre la fonctionnalité d'un contrôleur CRTC classique (6845) ainsi que d'autres fonctionnalités du CPC. En plus du fait que c'est un composant monté surface, on ne trouve ce composant spécifique nul part.

Je me pose quand même des questions depuis que j'ai vu l’implémentation d'un Amstrad en FPGA (http://www.cpcwiki.eu/index.php/FPGAmstrad).
Je me dis qu'il y aurait peut-être moyen de remplacer l'ASIC avec un composant de type FPGA sur la carte mère.

Je n'ai aucune expérience avec les FPGA, et je m'adresse donc au forum pour avoir des avis éclairés :D
Est-ce que vous pensez possible de remplacer cet ASIC et intéressant de creuser ?

CM_Amstrad_GX4000.jpg
CM_Amstrad_GX4000.jpg (311.64 Kio) Consulté 3157 fois
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: Remplacer l'ASIC des Amstrad par un FPGA ?

Message par hlide »

Il y a un cas similaire pour le MZ-1500 (et par extension le MZ-700) où il existe un custom LSI qui gère la vidéo et les accès aux différentes mémoires. Un Tchèque a fait l'implémentation car son MZ-1500 avait un soucis avec: http://www.dzi.n.cz/8bit/GDG1500/. Cependant, j'ignore s'il existe la même solution pour le CPC6128+. On peut penser qu'avec les cores d'Amstrad on pourrait en extraire de quoi en faire un. Toutefois, je nuancerais car les cores prennent souvent beaucoup de liberté par rapport aux composants réels (par exemple, un core MZ-700 ne présentera pas un custom LSI sous forme de boite ayant le même pinout que l'orginale mais plutôt de façon éclaté) et donc on peut s'attendre à plus de travail.

EDIT: http://www.8bity.cz/2017/sharp-weekend- ... n-11-2017/. Martin m'a affirmé que c'était aussi adaptable au MZ-700.
gotcha
Messages : 2759
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Remplacer l'ASIC des Amstrad par un FPGA ?

Message par gotcha »

@hlide Très intéressant ! Dommage que je ne parle pas tchèque :shock: (je vais essayer plus tard avec google translate) :D .
Petites questions:
- Par LSI, tu veux dire Large Scale Integration ?
- Ce que tu appelles 'Core', c'est quoi ? Un composant configurable de type FPGA ?
- Sais tu qui a fabriqué le truc autour du circuit pour avoir le pinout et la taille exacte du circuit original dans le photo: http://www.8bity.cz/wp-content/uploads/ ... ng_GDG.jpg ?
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: Remplacer l'ASIC des Amstrad par un FPGA ?

Message par hlide »

si tu es sur le navigateur Chrome, tu peux faire un clic droit et sélection "Traduire en Français" (moi c'est plutôt en Anglais).

- c'est le terme que j'ai vu utiliser quelquepart : https://original.sharpmz.org/mz-700/stvidctrl.html.

- dans l'émulation d'arcade ou d'ordinosaure dans un FPGA, je désigne par core l'ensemble des sources nécessaires pour émuler une machine. L'ensemble des opérations que fait le custom LSI est généralement éclaté dans le core et parfois réécrit différemment, donc de penser qu'il suffit juste d'extraire les parties de code pour recréer indépendemment ce custom LSI, ça ne suffit pas. Il faut être un expert en FPGA car ses pins sont exposés à l'extérieur alors que dans le core elles restent en interne. De plus, beaucoup de ces cores ne sont pas publiques.

- Nobomi je crois, celui qui fait Unicard entre autre.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Remplacer l'ASIC des Amstrad par un FPGA ?

Message par __sam__ »

gotcha a écrit : 06 sept. 2018 19:22 - Ce que tu appelles 'Core', c'est quoi ? Un composant configurable de type FPGA ?
Moi j'ai viré le mc68000 de mon amiga et l'ait remplacé par une carte comportant un FPGA faisant fonctionner le Core "Apollo" 68080: une ré-écriture du processeur mc680x0 avec les techniques d'aujourd'hui (il est bien plus rapide!). Le core c'est, pour moi, ce qui tourne dans le fpga. Dans mon cas c'est un remplacement des fonctions du 680x0 ainsi que des composants annexes: vidéo, gestion mémoire etc. Dans un FPGA comme le FPGA-arcade, le Minimig, le MiST, le MiSTer ou d'autres on peut mettre bien des "cores" différents pour avoir au choix un vic20, un c64, un atari xl, etc.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
BDCIron
Messages : 91
Inscription : 24 juil. 2018 23:39
Localisation : Calvados, région de Villers Bocage

Re: Remplacer l'ASIC des Amstrad par un FPGA ?

Message par BDCIron »

Franchement, on connaitrait exactement comment fonctionne l'ASIC pourquoi pas. Sauf que ce n'est pas le cas.
Rien que pour le bug des interruptions on a plus ou moins élucidé le mystère l'an dernier.
Et je peux te dire au vu de tous les tests que j'ai pu faire dessus qu'on est loin de tout comprendre à l'ASIC.
Beaucoup de chose ont été abandonné en court de création (comme les DMA disc) mais certaines chose sur certaines versions semblent tout de même exister sous forme de reliquat (ou pas). Bref, beaucoup de mystère autour de ce composant qui ne sert pas juste à émuler d'ancien CI du cpc old.
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Remplacer l'ASIC des Amstrad par un FPGA ?

Message par jice »

Si vous cherchez "whitebird" sur le forum, vous verrez que le circuit peut être reconstitué sur un FPGA, via reverse engineering.
Whitebird a ainsi reversé le gate array du MO5, c'est impressionnant !
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
Répondre