Page 1 sur 3

In-Circuit Emulator pour Z80 (ICE) ?

Publié : 17 janv. 2023 15:51
par gotcha
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:

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 17 janv. 2023 17:42
par jeffounet
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

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 18 janv. 2023 08:24
par gotcha
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.

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 18 janv. 2023 14:24
par hlide
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) ?

Publié : 19 janv. 2023 08:43
par gotcha
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:
Image


Dessus:
GODIL dessus
GODIL dessus
godil_top.jpg (247.16 Kio) Consulté 2931 fois

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 21:16
par Notator
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

CLZ8.png
CLZ8.png (794.1 Kio) Consulté 2886 fois

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 21:51
par gotcha
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.

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 22:30
par Notator
Du pur software ??? :shock:

Moi, je vois que le Z80 est remplacé par la carte MCLZ8, laquelle se relie en USB sur un PC...

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 22:33
par hlide
MCLZ8 en attente de soudure...
IMG_20221216_170120 - Copy.jpg
IMG_20221216_170120 - Copy.jpg (682.73 Kio) Consulté 2859 fois

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 22:35
par hlide
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.

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 23:05
par Zebulon
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 ?

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 19 janv. 2023 23:54
par gotcha
hlide a écrit : 19 janv. 2023 22:35 La partie émulation Z80 est du pur software.
Oui, c'est effectivement ce que j'entendais par 'pur software'. Sur l'autre solution, c'était un core Z80 en FPGA.

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 20 janv. 2023 00:00
par gotcha
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

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 20 janv. 2023 00:10
par hlide
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.

Re: In-Circuit Emulator pour Z80 (ICE) ?

Publié : 20 janv. 2023 00:12
par gotcha
En mode 0, on peut émuler un Z80 en temps réel jusqu'à combien de Mhz ?