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

Répondre
gotcha
Messages : 938
Enregistré le : 30 mars 2017 11:39
Localisation : Isère

Remplacer l'ASIC des Amstrad par un FPGA ?

Message par gotcha » 06 sept. 2018 16:18

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) Vu 892 fois
Amstrad CPC addict :mrgreen:

hlide
Messages : 1805
Enregistré le : 29 nov. 2017 10:23

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

Message par hlide » 06 sept. 2018 18:17

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 : 938
Enregistré le : 30 mars 2017 11:39
Localisation : Isère

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

Message par gotcha » 06 sept. 2018 19:22

@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 addict :mrgreen:

hlide
Messages : 1805
Enregistré le : 29 nov. 2017 10:23

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

Message par hlide » 06 sept. 2018 20:05

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 : 5414
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ » 06 sept. 2018 23:03

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),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.

BDCIron
Messages : 64
Enregistré le : 24 juil. 2018 23:39
Localisation : Orne, région de Mortagne au Perche
Contact :

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

Message par BDCIron » 07 sept. 2018 00:42

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 du membre
jice
Messages : 159
Enregistré le : 21 avr. 2014 15:08
Localisation : Madrid

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

Message par jice » 07 sept. 2018 21:40

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