aScorpii Posté(e) le 5 juillet 2005 Signaler Partager Posté(e) le 5 juillet 2005 Salut, je cherche à faire un émulateur NES ou SNES mais je ne sais pas comment faire ni quels outils utiliser, pourriez vous me passer une bonne adresse avec un tutorial (pour débutant ) afin que je puisse "essayer" de réaliser mon émulateur. Merci d'avance. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yahiko Posté(e) le 5 juillet 2005 Signaler Partager Posté(e) le 5 juillet 2005 1° T'apprend un langage de programmation genre C, C++, Java, Phyton ect... 2° Tu rassemble énormément de Doc sur la machine 3° Amuse toi bien Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
o0reL Posté(e) le 5 juillet 2005 Signaler Partager Posté(e) le 5 juillet 2005 Pourquoi t'embeter a faire ton émulateurs alors qu'il en existe de très bon ( Surtout pour nes ou snes ) ? En plus le C et le python c'est pas ce qu'il y a de plus marrant... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Julio Posté(e) le 5 juillet 2005 Signaler Partager Posté(e) le 5 juillet 2005 Alors plusieurs pistes (enfin ce sont les outils que j'ai choisis) pour émuler la NES : - Environnement de développement :class:/b] Visual C++ - Language de programmation : C++ - Emuler le CPU : jte conseille d'utiliser un émulateur open source du 6502, c'est le plus pratique. Bon après faut l'intégrer à ton code, et ça c'est assez chiant. Le CPU est en fait capable d'effectuer un nombre limité d'opérations appellées opcodes, tu lui envoies des arguments, tu précises l'opcode utilisé, et il te renvoie le résultat. Il faut aussi avoir en tête que le CPU lit et écrit en mémoire, et qu'il faut la plupart rajouter des routines capables de lire la mémoire (pour fournir des arguments aux opcodes) mais aussi d'y écrire (pour écrire le résultat de l'opcode). Enfin, ce genre de code intègre les interruptions, c'est-à-dire ce qui sort le CPU de son ronronnement, comme l'appui d'une touche de la manette, etc. Au final, il faut donc apprendre à ton processeur à communiquer avec la RAM, les I/O (entrées-sorties, comme le joystick), mais aussi avec la PPU (Picture Processing Unit) qui est le co-processeur graphique de la NES, chargé de l'affichage des sprites et des arrière-plans, bref de tout ce qui concerne les graphismes. - Emuler la PPU : là, je crois que c'est le gros du boulot. En effet, émuler la RAM revient à créer un bloc mémoire (fastoche en C++), ensuite tu y écris et y lis facilement avec de petites routines. Après, l'affichage est géré par un système de "tiles", qui sont des petites matrices 8x8 contenant un octet d'intensité et un de couleur si je dis pas de conneries (rien n'est moins sûr ). L'affichage entier de l'écran est composé d'une matrice de tiles (donc une matrice de matrices). Après, connaissant le registre de la PPU, tu sais quoi envoyer au CPU ou quoi lire/écrire dans la RAM par exemple. Bref, c'est assez coton. - Interface graphique sous Qt (à voir à la fin, une fois que tu as un programme qui tourne ) Bref, une fois les éléments séparés de la console émulés, il faut les faire communiquer entre eux... Et après c'est du bon normalement. Mais la NES possède une difficulté supplémentaire, à savoir les mappers de certaines cartouches, qui occasionnent des accès mémoire un peu exotiques. Puis la taille de la ROM aussi, qui varie et qui est donnée dans l'en-tête de la ROM (au format iNes). Enfin, la ROM est sous-divisée en une ROM CHR, contenant toutes les données graphiques, et en une ROM PRG, contenant les instructions CPU principalement. Une adresse qui est une bible pour terminer : http://nesdev.parodius.com/ Voilou ! Si t'as d'autres questions je peux essayer de te répondre dans la limite de mes connaissances PS : maître jeandubois, n'hésite pas à me fouetter si j'ai dit des conneries ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
aScorpii Posté(e) le 6 juillet 2005 Auteur Signaler Partager Posté(e) le 6 juillet 2005 Merci pour les infos, je vais tester tout ça Pour info, c'est juste pour le fun que je test de faire un émulateur, je sais qu'il existe déjà de tres bons émulateurs NES mais c'est gratifiant de faire son propre émulateur (si ça marche ). Allez au boulot Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.