In-Circuit Emulator pour Z80 (ICE) ?
Modérateurs : Papy.G, fneck, Carl
In-Circuit Emulator pour Z80 (ICE) ?
Appelée aussi ICE, je recherche une solution d’émulation sur PCB de Z80 (EDIT: clé en main). L'idée est de remplacer le Z80 par quelque chose de connecté à un PC et qui permet d’émuler en temps réel le Z80 et de pouvoir comprendre ensuite l'état des registres, le code exécuté etc....
Le but est de faire du debug de code Z80 dans son environnement hardware final, souvent en 'bare metal'. Je m'y intéresse par exemple pour comprendre ce qui se passe sur une carte contrôleur de disque qui est gérée par un Z80.
Je sais qu'il existe d'ancienne solutions, mais c'est globalement inaccessibles aujourd'hui (le peu qui se trouve est trop cher). Ces dernières années, il y a eu des tentatives de recréer un ICE Z80, mais apparemment rien de commercialisé à ce jour.
Auriez-vous des pistes ?
Voici un exemple d'ICE Z80:
Le but est de faire du debug de code Z80 dans son environnement hardware final, souvent en 'bare metal'. Je m'y intéresse par exemple pour comprendre ce qui se passe sur une carte contrôleur de disque qui est gérée par un Z80.
Je sais qu'il existe d'ancienne solutions, mais c'est globalement inaccessibles aujourd'hui (le peu qui se trouve est trop cher). Ces dernières années, il y a eu des tentatives de recréer un ICE Z80, mais apparemment rien de commercialisé à ce jour.
Auriez-vous des pistes ?
Voici un exemple d'ICE Z80:
Dernière modification par gotcha le 18 janv. 2023 09:06, modifié 1 fois.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: In-Circuit Emulator pour Z80 (ICE) ?
Bonjour,
J'ai vu ça:
http://www.tauntek.com/z80-in-circuit-emulator.htm
http://ferretronix.com/nice/
Mais je pense que tu les as trouvé, tu me dira.
Bonne soirée
Jean-François
J'ai vu ça:
http://www.tauntek.com/z80-in-circuit-emulator.htm
http://ferretronix.com/nice/
Mais je pense que tu les as trouvé, tu me dira.
Bonne soirée
Jean-François
Il n'y a que 11 sortes de gens, ceux qui comprennent ceux qui ne comprennent pas et ceux qui me font répéter!
Jean-François
Jean-François
Re: In-Circuit Emulator pour Z80 (ICE) ?
Merci pour les infos. Ce sont des solutions qu'il faut faire soit même et je ne suis pas sur que toutes les infos soient dispo.
De mon coté, ma préférence est de trouver une solution clés en main pour ce type d'outils.
De mon coté, ma préférence est de trouver une solution clés en main pour ce type d'outils.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: In-Circuit Emulator pour Z80 (ICE) ?
Il n'y a apparemment aucune information pour fabriquer ce IZE80. Si je comprends bien, tu souhaiterais avoir la possibilité de déboguer plus finement ? dans la vidéo, one ne voit pas grand chose de cet aspect. Dommage, ça m'aurait permis de comparer avec la solution MCLZ8.
Re: In-Circuit Emulator pour Z80 (ICE) ?
Il y a des projets qui existent basés sur le GODIL de OHO Elektronik.
C'est une petite carte contenant un FPGA sur lequel on peut programmer un 'soft core' de Z80 ou autre.
La spécificité de cette carte est que sur l’arrière, on a directement un connecteur DIL.
Malheureusement, la version DIL-40 ne semble plus être disponible.
Discussion ici: Quelques projets l'utilisant: Dessous:
Dessus:
C'est une petite carte contenant un FPGA sur lequel on peut programmer un 'soft core' de Z80 ou autre.
La spécificité de cette carte est que sur l’arrière, on a directement un connecteur DIL.
Malheureusement, la version DIL-40 ne semble plus être disponible.
Discussion ici: Quelques projets l'utilisant: Dessous:
Dessus:
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: In-Circuit Emulator pour Z80 (ICE) ?
Je suis tombé sur ceci, l'émulateur MCLZ8 construit sur base Teensy 4.1, j'ignore ce que ça vaut :
https://hackaday.io/project/188682-mclz ... ccelerator
https://hackaday.io/project/188682-mclz ... ccelerator
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Re: In-Circuit Emulator pour Z80 (ICE) ?
Le MCLZ8 semble intéressant. Et comme c'est du pure software, c'est plus facile d'accès qu'un FPGA.
Je vais voir s'il y a plus d'infos sur ce projet.
Je vais voir s'il y a plus d'infos sur ce projet.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: In-Circuit Emulator pour Z80 (ICE) ?
Du pur software ???
Moi, je vois que le Z80 est remplacé par la carte MCLZ8, laquelle se relie en USB sur un PC...
Moi, je vois que le Z80 est remplacé par la carte MCLZ8, laquelle se relie en USB sur un PC...
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Re: In-Circuit Emulator pour Z80 (ICE) ?
MCLZ8 en attente de soudure...
Re: In-Circuit Emulator pour Z80 (ICE) ?
La partie émulation Z80 est du pur software. Les quatre puces servent de level shifters (5 V <-> 3.3 V).
Et non, il y a un ARM Cortex de 600 MHz qui émule le Z80. La connexion USB vers le PC, c'est juste un terminal.
Et non, il y a un ARM Cortex de 600 MHz qui émule le Z80. La connexion USB vers le PC, c'est juste un terminal.
Re: In-Circuit Emulator pour Z80 (ICE) ?
Tu as commandé les PCB avec les quatre puces CMS déjà soudées ?
Comment interagit-on ensuite avec le Teensy, via un terminal texte ?
Comment interagit-on ensuite avec le Teensy, via un terminal texte ?
Re: In-Circuit Emulator pour Z80 (ICE) ?
Oui, c'est effectivement ce que j'entendais par 'pur software'. Sur l'autre solution, c'était un core Z80 en FPGA.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: In-Circuit Emulator pour Z80 (ICE) ?
Je vois les Teensy 4.1 à 2€ sur aliexpress et à 50€ sur les plateformes européennes.
Il n'y aurait pas un peu de spéculation comme pour les Raspberry PI ??
A priori, le prix officiel est de l'ordre de 30$ : https://www.pjrc.com/store/teensy41.html
Il n'y aurait pas un peu de spéculation comme pour les Raspberry PI ??
A priori, le prix officiel est de l'ordre de 30$ : https://www.pjrc.com/store/teensy41.html
Dernière modification par gotcha le 20 janv. 2023 00:10, modifié 1 fois.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: In-Circuit Emulator pour Z80 (ICE) ?
Oui, j'ai décidé de le tester car j'ai un projet plus ambitieux en tête et ce MCLZ8 va me servir de tremplin à mes idées.
Tu flashes le firmware INO qui émule le Z80 dans le teensys puis tu places le teensys sur le PCB. Le PCB se place sur le socle Z80. L'interaction avec le terminal est minimal, il s'agit surtout de taper 0, 1, 2, 3 qui sont des modes d'accès mémoires au bus Z80. Mais on peut ajouter du code pour rajouter des fonctionnalités via ce terminal.
0 : émulation 100% conforme du bus mémoire et timing des instructions. Reproduction des cycles et des signaux d'accès mémoire sur le bus Z80.
1 : émulation 100% du timing des instruction mais la ram est interne en lecture et l'écriture en write-through. Reproduction des cycles et des signaux d'accès mémoire sur le bus Z80 en écriture seulement. Comme si on avait un cache pour la RAM.
2 : exécution des instructions à la vitesse de l'ARM et ram interne en lecture mais écriture en write-through. Cycles raccourcis au strict minimum et des signaux d'accès mémoire sur le bus Z80 en écriture seulement. Comme si on avait un cache pour la RAM.
3 : exécution des instructions à la vitesse de l'ARM et ram interne aussi bien en lecture et écriture. Cycles raccourcis au strict minimum et accès mémoire interne.
Bien sûr, il faudra adapter dans le code le décodage d'adresse par rapport à la machine cible :
- reconnaissance de la partie RAM qui peut faire l'objet d'une redirection en RAM interne pour la lecture (voir l'écriture).
- reconnaissance des parties mémoires comme la vidéo RAM ou périphériques dont on doit assurer la représentation des signaux d'accès mémoire sur le bus Z80 inconditionnellement.
Tu flashes le firmware INO qui émule le Z80 dans le teensys puis tu places le teensys sur le PCB. Le PCB se place sur le socle Z80. L'interaction avec le terminal est minimal, il s'agit surtout de taper 0, 1, 2, 3 qui sont des modes d'accès mémoires au bus Z80. Mais on peut ajouter du code pour rajouter des fonctionnalités via ce terminal.
0 : émulation 100% conforme du bus mémoire et timing des instructions. Reproduction des cycles et des signaux d'accès mémoire sur le bus Z80.
1 : émulation 100% du timing des instruction mais la ram est interne en lecture et l'écriture en write-through. Reproduction des cycles et des signaux d'accès mémoire sur le bus Z80 en écriture seulement. Comme si on avait un cache pour la RAM.
2 : exécution des instructions à la vitesse de l'ARM et ram interne en lecture mais écriture en write-through. Cycles raccourcis au strict minimum et des signaux d'accès mémoire sur le bus Z80 en écriture seulement. Comme si on avait un cache pour la RAM.
3 : exécution des instructions à la vitesse de l'ARM et ram interne aussi bien en lecture et écriture. Cycles raccourcis au strict minimum et accès mémoire interne.
Bien sûr, il faudra adapter dans le code le décodage d'adresse par rapport à la machine cible :
- reconnaissance de la partie RAM qui peut faire l'objet d'une redirection en RAM interne pour la lecture (voir l'écriture).
- reconnaissance des parties mémoires comme la vidéo RAM ou périphériques dont on doit assurer la représentation des signaux d'accès mémoire sur le bus Z80 inconditionnellement.
Re: In-Circuit Emulator pour Z80 (ICE) ?
En mode 0, on peut émuler un Z80 en temps réel jusqu'à combien de Mhz ?
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)