Emulation Processeur

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 17 déc. 2007 à 18:09
Yo_Fr Messages postés 16 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 5 octobre 2016 - 28 oct. 2013 à 23:37
Bonjour,
Je m'interresse particulierement aux emulateurs ces temps-ci. J'ai bien étudié le fonctionnment d'un processeur dans ses moindres détails mais je n'arrive pas à trouver une piste pour démarrer la programmation d'un émulateur d'un Z80. J'ai trouvé une documentation sur  "Hector" sur Internet mais c'est tout. Je ne la trouve pas assez approfondie. Il y a aussi un émulateur de GBC sur ce site mais la source est peu commenté.
Je voudrais savoir si quelqu'un s'y connait ou connait une documentation pour bien commencer.
Merci de votre aide.

5 réponses

Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
17 déc. 2007 à 20:08
si tu as étudier le fonctionnement d'un processeur, tu sais donc qu'un processeur c'est :
- Des registres : de simple zone de stockage pour des données binaires
- Une unité de traitement : qui triture les données des registres ou de la mémoire
- un dispositif d'accès à une mémoire RAM
- un jeu d'instruction : un jeu de type CISC pour le cas du Z80.

comme il te faudra sans doute une petite zone de mémoire RAM pour faire bosser ton processeur, il te faut :
- une variable tableau pour simuler le stockage/l'accès aux données de la RAM
- quelques variables pour simuler tes registres
- une fonction qui va être capable de reproduire chaque opération de ton jeu d'instruction.
- Prévoir aussi l'émulation des routines I/O du processeur.

Voila déjà quelques pistes à suivre ...
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
17 déc. 2007 à 20:19
Merci pour tes conseils. En fait je bloque un peu sur les interruptions; les registres de piles, l'horloge interne, tout ce petit bazard.
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
17 déc. 2007 à 21:54
je dois avouer qu'il y a longtemps que je ne me suis pas penché sur le fonctionnement d'un processeur (cela date de mes années d'étude à l'IUT ! Line RENAUD était encore "pas trop vieille à l'époque) mais de mémoire, cela ne doit pas être bien insurmontable
0
cs_caracole Messages postés 2 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 mars 2011
5 mars 2011 à 19:07
Bonjour,

Je ne sais si c'est le lieu, mais un projet me trote dans la tête depuis quelque temps.

J'ai travaillé pas mal d'années sur un calculateur électronique c'était mon premier contact avec l'informatique ( je crois que ce mot n'existait pas à l'époque ).
J'ai commencé par mettre au point cette machine à base de transistors mais pas de circuits intégrés. Ensuite, j'ai changé de métier et me suis orienté vers la programmation de cette merveille de l'époque - après presque un demi siècle je me souviens encore de son jeu d'instructions machine. On parlait en octal pas en hexa. Il existait un "assembleur" mais je pianotai surtout au début les instructions de mes programmes sur un pupitre de près d'un mètre de large avec ses 18 interrupteur à bascule assortis de voyants - à chaque interrupteur correspondait un bit. Il y avait aussi pas mal d'autres interrupteurs bien sûr !.
Situés autour de ce pupitre, un lecteur de ruban papier, une machine à écrire à boule bi-colore IBM, un perforateur de ruban constituaient les périphériques minimum de ce calculateur. Bien entendu, un gros cable reliait ce pupitre aux armoires de l'unité centrale et de gestion des périphériques.
La mémoire ( à tores de ferrites ) avait une capacité de 16.000 caractères. et en guise de disque dur un tambour magnétique d'une capacité de 160.000 caractères. Plus tard sont apparus bandes magnétiques et perforateurs de cartes.
Avec quelques pachines à écrires supplémentaires, voire une imprimante rapide, des centaines de capteurs de temperatures, pressions etc... un bon millier de sorties/entrées numériques j'ai fait des merveilles dans le domaine du controle de processus.

Nostalgique de cette machine, j'ai pu récupérer de la doc mais pas la photo ( du moins pour le moment ).
J'aimerai la faire revivre sous forme d'un émulateur sur un pc.

Cette merveille s'appelait CAE-510 et était fabriquée sous licence par la Compagnie européenne d'Automatisme et d'Electronique.

Je suis en retraite depuis pas mal d'année et je suis "déconnecté" de la programmation mais je suis convaincu qu'avec les outils dont nous disposons aujourd'hui pourvoir réaliser au moins une maquette..

Un programmeur génial avec des idées serait-il interessé pas ce projet ?

Pour en savoir plus, vous pouvez me contacter en MP ou ici.

Bien cordialement

Merci, Pierre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yo_Fr Messages postés 16 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 5 octobre 2016
Modifié par Yo_Fr le 28/10/2013 à 23:39
Bonjour,
Je viens de voir votre message et comme j'ai eu le même parcours (vouloir programmer un Z80 en VB) et que j'ai réussi.. Si cela vous intéresse toujours (2010 c'est loin !) c'est visible sur le site de Yves (http://hectorvictor.free.fr/ rubrique VBHector, car c'est un émulateur d'Hector). Je suis l'auteur (yo_fr). Le code pour le Z80 à été récupéré d'un source en VB6 (repris pour le passage en vb) et le reste est 100% de moi. Pour info le lecteur de disquette est aussi à base de Z80, il y a donc 2 Z80 qui tournent à 5 et 4 MHz... Si vous utilisez mon source, pas de problème, citez juste la source !
Bonne lecture !
0
Rejoignez-nous