Emulation Processeur

Signaler
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010
-
Messages postés
16
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2016
-
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

Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
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 ...
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

Merci pour tes conseils. En fait je bloque un peu sur les interruptions; les registres de piles, l'horloge interne, tout ce petit bazard.
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
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
Messages postés
2
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
5 mars 2011

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
Messages postés
16
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2016

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 !