[VG5000µ] DCVG5K 2020.12.27

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

[VG5000µ] DCVG5K 2020.12.27

Message par Daniel »

Nouvelle version de dcvg5k : http://dcvg5k.free.fr/download/index.html

Tout le mérite en revient à Mokona. Il a comparé les émulateurs à la vraie machine, et dcvg5k était trop rapide. Le cycle supplémentaire lors du fetch de l'instruction n'était pas émulé. Il a été ajouté.

Après cette modification il restait un petit décalage, l'émulation était encore trop rapide. L'émulateur Z80 utilisé par dcvg5k travaille au niveau de l'instruction et ne peut pas s'arrêter tant qu'elle n'est pas terminée. Pour la terminer il exécute des cycles "en trop" qui n'étaient pas comptabilisés. Pour rétablir une bonne synchronisation, ces cycles "en trop" sont maintenant pris en compte.

D'après les dernier tests réalisés la nouvelle version de dcvg5k est parfaitement synchrone avec le vrai VG5000µ 8)
Merci beaucoup à Mokona, je lui dédicace cette version !

Capture d’écran de 2020-12-27 11-39-09.png
Capture d’écran de 2020-12-27 11-39-09.png (10.24 Kio) Consulté 4101 fois
VG5000-Synchro-20201227.zip
(219.15 Kio) Téléchargé 127 fois
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000µ] DCVG5K 2020.12.27

Message par Mokona »

Je suis honoré par la dédicace, merci :)
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [VG5000µ] DCVG5K 2020.12.27

Message par hlide »

Donc le VG5000µ rajoute aussi un wait state au cycle M1 comme les MSX ? mais quel copieur !

Il y a une raison à cela ? des ROM et des RAM trop lents ?
Dmanu78
Messages : 268
Inscription : 20 juin 2020 14:28
Localisation : Yvelines

Re: [VG5000µ] DCVG5K 2020.12.27

Message par Dmanu78 »

J’ai l’impression que par rapport au DataSheet, le Z80 n’a jamais été cadencé à sa pleine puissance avec tout les Wait states que les constructeurs ont rajouté dessus : MSX en rajoute systématiquement un sur un cycle M1, sur CPC, c’est le GA qui cadence le Z80 à coup de Wait States tous les 3 cycles/4, maintenant le VG5000...
Je me demande si ce n’est pas lié à sa fréquence de fonctionnement plus élevée que les autres CPU de l’époque genre 6502 qui étaient cadencés à 1 ou 2 MHz max. Les puces annexes n’arrivaient peut être pas à suivre la cadence...
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000µ] DCVG5K 2020.12.27

Message par Mokona »

Dans la documentation du Z80 en tout cas, l'explication de \WAIT est au chapitre « Memory Speed Control », en disant que contrairement aux autres phases, le fetch est assez court et qu'il est donc prévu de pouvoir ralentir le Z80.

L'explication est suivi d'un petit schéma utilisant un 74LS74 pour montrer comment ajouter un cycle à M1. Le VG5000µ utilise... un 74LS74 pour reproduire ce montage. Le seul ajout est qu'il est aussi branché sur le bord de carte pour un signal \WAITE (B1), ce qui permet aussi aux extensions de faire attendre le Z80.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [VG5000µ] DCVG5K 2020.12.27

Message par hlide »

Sur les SHARP que je connais, ce n'est pas le cas. Excepté pour le MZ-1500 (Super MZ) qui le rajoute quand il tourne en mode turbo (6 MHz au lieu de 4 MHz). Sur le MZ-700, il y a bien un ajout ce n'est pas spécifiquement sur un cycle M1 mais à l'accès de la ROM monitor; la DRAM et la VRAM ne sont pas concernées : c'est à l'accès d'une mémoire spécifique et non bêtement à chaque cycle M1. Donc j'avoue que ça me laisse perplexe cette stratégie d'ajout systématique d'un wait state au cycle M1 sur le MSX et maintenant le VG5000µ. Ca ressemble à une solution généraliste du pire cas.
Dernière modification par hlide le 28 déc. 2020 14:13, modifié 1 fois.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [VG5000µ] DCVG5K 2020.12.27

Message par Carl »

Merci Mokona et Daniel pour cette ultime version :wink:

Carl
Répondre