La Place des Développeurs Recherche les valeurs des cycles des instructions du Z80A
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
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
Il faut aller directement à la source, chez Zilog
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).
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.
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