MSX Village forum

La Place des Développeurs Recherche les valeurs des cycles des instructions du Z80A

GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 04/02/2011 à 01h19
Bonjour,

Afin d'améliorer la compatibilité des émulateurs msxDS et Dingux-MSX, on recherche les valeurs des cycles de toutes les instructions du Z80A (instructions non-documentées incluses).

Les documents trouvés jusqu'à maintenant sont assez maigres.

http://www.scav.cz/download/MZ-800/MZ-800_Navody/Hardware/Z80/Z80opcod.txt
http://www.myquest.nl/z80undocumented/z80-documented-v0.91.pdf
http://map.grauw.nl/resources/z80instr.php

A part celles-là, si vous en connaissez d'autres, faites-le savoir s'il vous plait, ça fera avancer le dévelopement.

Jusque maintenant, on sait qu'il faut ajouter à chaque instruction machine un cycle ou 2 si le nombre d'octets de l'instruction est supérieur à 1 pour avoir la bonne valeur.
fMSX ne prend en compte que les valeurs données dans les tableaux des docs et seulement pour les instructions documentés. Edité par GDX Le 04/02/2011 à 14h22
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 04/02/2011 à 08h02
Il faut aller directement à la source, chez Zilog :heink



http://www.zilog.com/docs/z80/um0080.pdf



Dans ce document, tu as, instruction par instruction, le nombre de cycles machines M, le nombre de T-states, et l'évaluation d'une durée d'exécution en microsecondes pour un cadencement à 4Mhz.



Par contre, ce document ne renseigne pas les instructions non documentées. La seule documentation à ce sujet que je connaisse a été compilée par Sean Young, et ne renseigne pas les cycles M ou T-states de ces instructions (il fait partie des liens que tu cites).



GDX :
Jusque maintenant, on sait qu'il faut ajouter à chaque instruction machine un cycle multiplié par le nombre d'octets de l'instruction pour avoir la bonne valeur


Je ne suis pas sur que ce soit la bonne règle ...

Regarde en pages 11,12 et 13 du document de Zilog, tout est expliqué sur le timing du processeur en exécution d'opération.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie