République Algérienne Démocratique et Populaire
Université Abou Bakr Belkaid Tlemcen
Faculté des Sciences
Département d’Informatique
Mémoire de fin d’études
pour l’obtention du diplôme de Licence en Informatique
Thème
Etude des méthodes et techniques de
l’émulation
Réalisé par :
- BENABADJI Adil
- DIB Abdelkrim
Présenté le 9 Juin 2014 devant la commission d’examination composée de MM.
- BENMANSOUR F.
(Examinatrice)
- BENTAALLAH A.
(Examinateur)
- BRIKCI NIGASSA A.
(Encadreur)
Année universitaire : 2013-2014
Remerciements
Tout d’abord nous remercions notre encadreur M. BRIKCI NIGASSA pour son aide et
ses précieux conseils qui nous ont permis de mener à bien nos recherches, et de bien
structurer notre document.
Nous remercions aussi les nombreuses personnes qui ont mis à disposition sur Internet
les documents nécessaires à l’étude de l’émulation.
Nous remercions également les membres du jury, M. BENTAALLAH et Mme
BENMANSOUR, pour avoir accepté de juger ce modeste travail.
Dédicaces
Nous dédions notre travail à toute personne s’intéressant à l’émulation et à la
compilation, ainsi qu’à tous les humains, même les méchants, ces méchants hackers qui
ont réussi à bidouiller les machines et à créer des émulateurs. Grâce à eux, le domaine
s’est développé et démocratisé.
1
Table des matières
Liste des figures ............................................................................................................................... 3
Liste des tableaux ............................................................................................................................ 3
Introduction générale ...................................................................................................................... 4
Première partie : Synthèse bibliographique .................................................................................... 6
Chapitre 1 : Définition et histoire de l’émulation ............................................................................ 7
-émulateur ? ................................................................................................. 8
 .......................................................................................... 8
1.3 Que peut-on émuler ? ........................................................................................................... 8
1.4 Les machines virtuelles .......................................................................................................... 8
 .......................................................................................................... 9
Chapitre 2 : Types d’émulation ...................................................................................................... 10
2.1 Emulation de bas niveau (LLE : Low Level Emulation) ......................................................... 11
 ............................................................................................... 11
2.1.2 La recompilation ........................................................................................................... 12
2.2 Emulation de haut niveau (HLE : High Level Emulation) ..................................................... 13
Deuxième partie : Application ....................................................................................................... 14
Chapitre 3 : Présentation de la NES ............................................................................................... 15
3.1 Introduction ......................................................................................................................... 16
3.2 CPU (2A03)........................................................................................................................... 16
3.2.1 Les registres .................................................................................................................. 17
 .................................................................................................... 17
3.2.3 Les interruptions ........................................................................................................... 18
3.2. ................................................................................................. 18
3.3 PPU (2C02) ........................................................................................................................... 19
3.3.1 Les registres .................................................................................................................. 19
3.3.2 Direct Memory Access (DMA) ...................................................................................... 20
3.3.3 VRAM et SPR-RAM ........................................................................................................ 20
3.3.4 Palette des couleurs ..................................................................................................... 21
2
3.3.5 Table des graphismes ................................................................................................... 21
 .................................................................... 22
3.3.7 Fonctionnement des miroirs ........................................................................................ 23
3.3.8 Sprites ........................................................................................................................... 25
3.3.9 Scanline, VBlank et HBlank ........................................................................................... 25
3.3.10 Scrolling ...................................................................................................................... 26
3.4 pAPU (Pseudo-Audio Processing Unit) ................................................................................ 28
3.5 Mapper ................................................................................................................................ 28
3.6 Contrôleurs .......................................................................................................................... 28
Chapitre 4 : Implémentation de l’émulateur ................................................................................. 30
4.1 Choix du langage de programmation .................................................................................. 31
4.2 Fonctionnement du programme ......................................................................................... 31
4.2.1 CPU ............................................................................................................................... 31
4.2.2 PPU ............................................................................................................................... 35
4.2.3 Mapper ......................................................................................................................... 36
4.2.4 Mapper0 ....................................................................................................................... 36
4.2.5 Cartridge ....................................................................................................................... 36
4.2.6 NES ................................................................................................................................ 36
Chapitre 5 : Etude comparative des techniques utilisées .............................................................. 37
5.1 Mesures de performances................................................................................................... 38
5.2 Résultats et discussion ........................................................................................................ 40
Conclusion et perspectives ............................................................................................................ 41
Bibliographie .................................................................................................................................. 43
Glossaire ........................................................................................................................................ 45
1 / 53 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!