1

J'aurais une idée (un concept plutôt) d'émulateur GBA sur GP32, je demande des avis de connaisseurs (des bons connaisseurs d'ailleurs): eek

j'ai déjà un peu programmé sur GBA, mais je n'y connais pas grand chose côté GP32.
Je sais par contre que la GP32 a un processeur à base de ARM, et la GBA à base de ARM et de THUMB, c'est
à dire que certaines parties des jeux GBA sont écrites en ARM et d'autres parties sont en THUMB.

En supposant que l'on puisse décompiler entièrement un jeu GBA (en faire un source) et le recompiler uniquement en ARM (tout ça automatiquement, je pense que c'est possible mais un peu difficile), le processeur comprendrait alors toutes les instructions de cette nouvelle ROM, il n'y a aurait alors plus besoin d'interpréter les instructions mais simplement de les éxecuter. smile

C'est surtout là que j'aurais besoin d'infos : je ne connais pas l'organisation de la mémoire de la GP32, mais les adresses mémoires de la RAM et de la ROM de la GBA correspondent à une zone de RAM pour la GP32, il suffit donc de copier la ROM gba au même endroit qu'elle serait dans la GBA (0x08000000 si je me souviens bien). Si ce n'est pas le cas, tout ce complique énormément ! mur

Enfin la partie qui reste obligatoirement à émuler c'est bien sûr la partie matérielle et là ça risque d'être très gourmant, enfin comme n'importe quel émulateur. hum


Bon si quelqu'un à compris mon délire gol , ce que je voudrait savoir c'est s'il existe déjà un émulateur GBA qui soit basé là dessus, et aussi si il existe déjà un décompilateur automatique de ARM7TDMI (le processeur de la GBA).

2

Alors reponse car vraiment avec c'est emu GBA s'en vouler a mort.

deja machine :
GBA - ARM7TDI 13mhz
GP32 - ARM9TDI 66 mhz (de base)

les processeurs arm sont des structures cascade donc le proc GP32 peut executé TOUT le code de la GBA.
Pour ce qui est de l'idée du code si tu charges une rom GBA tu as dedans le code + les gfxs + les graphismes.
L'idée global serait de ne pas faire une emulation classique en emulant TOUT (processeur ect ...) mais de faire un intercepteur de convertir le code GBA.
en retouchant les adresses memoires et les acces speciaux qui serait rediriger vers du code (type acces bios).

Voila l'idée est la depuis longtemps maintenant faut que quelqu'un preine le temps de si mettre
c'est tout.

3

Wahou, super idée
Bonne chance, et bon courage surtout wink

Ah oui au fait, à mon avis il est illégal de rendre compréhensible par dessasemblage ou reverse engenering le code source d'un jeu commercial... donc fait gaf, certains pouraient ne pas etre content de tes projets et tu pourais t'attirer des ennuis...

4

vouloir a tout prix lancer un jeu gba sur gp32, mais bordel, achetez vous une gba sp, c'est largement moin chere smile
avatarpourquoi la mort ? parce qu'elle nous est si douce, au contraire de la vie :)

5

-

6

Que voulez-vous, l'homo sapiens sapiens est ainsi fait, il désire toujours ce qu'il n'a pas...

dehors

Ceci dit au niveau "théorique" c'est trés intéressant...

7

vouloir a tout prix lancer un jeu gba sur gp32, mais bordel, achetez vous une gba sp, c'est largement moin chere


Quitte à acheter une gba, je préfère ma gba classique, même si je dois lui ajouter un rétroéclairage. Cela dit j'ai déjà une gba et quelques jeux, et tant qu'à me déplacer avec une seule console, au moins avec la gp32 j'aurais les jeux de la gba.
les processeurs arm sont des structures cascade donc le proc GP32 peut executé TOUT le code de la GBA.


Bonne nouvelle
Ah oui au fait, à mon avis il est illégal de rendre compréhensible par dessasemblage ou reverse engenering le code source d'un jeu commercial...


En fait la convertion de la ROM originale passerait par un désassemblage, mais au final il n'est pas nécessaire que le source soit affiché ou même enregistré dans un fichier, dans ce cas je ne pense pas que ce soit illégal (j'en suis pas sûr du tout)


Je vais déjà travailler sur un désassembleur qui puisse identifier automatiquement les parties des ROMS qui sont des inctructions ARM, THUMB ou alors simplement des données, c'est déjà un peu de boulot mais au moins ça pourrait servir à d'autres choses qu'un émulateur.

8

l(utilisation de la rom est en elle meme deja illegale, cherche pas plus loin
avatarpourquoi la mort ? parce qu'elle nous est si douce, au contraire de la vie :)

9

c illegal uniquement si tu n'as pas l'original.. il me semble

10

il me semble aussi. Moi par exemple juste pour le challenge, les deux seules roms commerciales que j'utilise viennent directement de mes cartouches d'origine (dumpées avec un cable multiboot), alors je vois pas en quoi c'est illégal. De plus il y a énormément de roms gratuites pour gba.

11

moi je te dit bonne chance

12

lol l'emul gba fait tjs bcq d'ancre mais rien de satisfeseant n'est jamais sortit dessus wink le gb et le gbc sont a peine sortit , mais si qq un veut se lancer la dedans c'ets clairement la solution de thun qui faut prendre mais son seul ennuie c'ets uq il faut rudemnt bien connaitre l'architecture des deux processeur en cours, poru qq unq ui connaitratit les deux et donc leur différence ce ne serait aps un réelle probleme je pense....
Et puis bon c'etsvrai la gp32 a un ecran un peu plsu large et deux console sur soit dans le train ca fait lourd lol ^_^

13

-

14

y a aussi des jeux amateurs sur GBA, et ils ont l'air bien en plus! pourquoi uniquement ceux qui ont une GBA et un linker seraient les seuls a en profiter en voyage?
avatarSpartine, la fille que ce soir elle dîne en enfer: http://www.spartine.com

Pockett Videogames, le site de toutes les consoles portables!: http://www.pockett.net

J'aime beaucoup faire des dessins aux petites filles! C'est ma passion.

15

en clair tu vas transformer ta rom en fxe smile

16

Fag, a mon avis, la plupart de ceux qui attendent un ému gba en ont déjà une... Le but n'est pas du tout de jouer à la GBA sans l'acheter.
Déjà y'a le défi pour le programmeur de faire tourner un jeu GBA sur GP32. Mais moi, personnelement, ce qui m'interresserait surtout c'est plutot que de trimbaler ma GP32 + ma gba et ses 18 cartouches quand je part, dumper les ROM et mettre le tout sur la GP32 et basta.
Et puis, qu'on ne me croit pas si l'on veut, mais je n'ai nulement l'intention de mettre des roms du net dessus, juste les jeux que j'adore et que j'ai acheté, et dont je ne peus me passer... (comme "Hamtaro" heart heart heart ) lol

17

en bref cé pour le defit technique quoi

18

"Le but n'est pas du tout de jouer à la GBA sans l'acheter." allez vous me faites rire lol
avatarpourquoi la mort ? parce qu'elle nous est si douce, au contraire de la vie :)

19

Si les instructions sont converties en instructions ARM9, ou si comme le dit ThunderZ l'ARM9 comprend les instructions ARM7, y'aurait meme pas besoin de convertir, juste à corriger quelques adresses. Il ne reste que le chip son et le chip graphique de la GBA à émuler, c'est dur ça ?

C'est clair que ce qui simplifierait encore plus c'est d'écrire un décompileur de rom gba (ça par contre c'est pas légales du tout, qu'on ait acheté le jeu ou pas... forbidden ) comme ça on traite le code sans toucher aux données de son et image (entassés à la fin de la rom après le code si je me rappele bien de mes cours lol).

"En fait la convertion de la ROM originale passerait par un désassemblage, mais au final il n'est pas nécessaire que le source soit affiché ou même enregistré dans un fichier, dans ce cas je ne pense pas que ce soit illégal (j'en suis pas sûr du tout)"

C'est vrai que dans ce cas le code n'est pas rendu compréhensible, mais on n'a pas le droit non plus d'y apporter aucune modification que ce soit... Je n'ai pas étudié le droit de propriété intelectuelle assez pour en être sûr mais y'a de grandes chances. Sinon, selon moi ce tu veus faire est illégal mais pas immoral car ça ne gene absolument personne (tand que tu t'en tiens à ça, la loi est faite pour ceux qui vont plus loin), tu gardes au mons ta consience tranquile lol. Mais es-tu certain de pouvoir faire l'opération sans avoir besoin de lire un peu le code pour corriger certaines choses ?

Enfin, moi ça m'intrigue, ce principe a l'air si simple, c'est étonnant que personne ne l'ai fait... Peut-etre est-ce du fait que tous les essais d'ému étaient inspirés de sources d'ému pc, fonctionnant selon le principe de l'interprétation linéaire.

20

"allez vous me faites rire"
Tu sais Fag, tu peus me tutoyer lol

Moi je pense qu'au moins 70% des possesseurs de GP32 ont aussi ou ont eut une GBA, surtout ceux qui attendent l'ému. Mais ça c'est mon idée, tu as les tiennes et je les respecte smile je n'essairai donc pas par tout les moyens de défendre mes idées contre les tiennes. lol

Après, jouer aux jeux sans les payer ça y'en a surement plein qui aimeraient le faire, si c'est à ça que tu penses, c'est sûr et je ne dirai pas le contraire.

21

oui il y aura tjrs de ces gens-là

22

-

23

Franchment a part le fait de jouer sur la mm famille de cpu comme on la deja dit mille fois , je vois mal une decompile du code d'un rom pour le recompiler sur une auitre plateforme (je vouderai voir ca...) ya trop de chose qui risque de changé et je pense que c'est surtout une idée de personne uqi n'a jamais codée ou qui n'a jamais étudié le principe de fctnement d'une becane au niveau hard et soft....

LE seul trucs a faire est bien de jouer sur le fait que c'ets des ARM et ca c'ets feseable il faut e fait créer un prgramme quis erait uen gba virtuel au niveau du hard..ca peut demandé pas mal de boulot mais le résultat obtenu sera tout simplement bleffant et le portage d'un emulateur tournant sur 80x86 existant ne donnera jamais rien c'ets vcomme faire tourner deux emulateur en mm temps.. la gp est puissante mais pas a ce point là.

Bref c'est un travail qui peut etre assez long mais inutile de s'y lancer si on ne connait pas l'architecture de la gba et son mode de fonctionnement interne en DETAILS .

Mais bonne chance a celui ou plutot a l'equipe qui se lancerai dedans wink, yoyo serai peut ette le mieux placé il doit commencer a bien connaitre les machien nintendo lol

24

J'ai déjà bien commencé mon décompilateur ARM7TDMI, mais je me rend compte que la transformation d'une rom, même juste s'il faut changer quelques adresses mémoires, va difficilement se faire entirèrement automatiquement.

Autre point : il existe une interruption (j'ai oublié son nom) qui intervient lorsque une zone définie de la mémoire est lue ou écrite. Il serait donc facile d'intercepter les écritures aux périphériques de la GBA (image, son, ...). Je ne suis pas sûr par contre que ceci soit possible avec la GP32. (je manque cruellement de doc sur la GP32)

J'ai une question : comment accède-t-on au contenu des SMC? Je veux dire est-ce qu'il est possible d'executer du code directement à partir des cartes ou est-ce que les executables gp32 sont d'abord copiés en RAM (je crois plutôt que c'est la deuxième réponse). Car dans ce cas, il faudrait copier toute la ROM GBA en RAM, et donc les jeux de 8 Mo passeraient limite, et au dessus ça serait très dur.

Je connais bien la GBA côté matériel, j'ai toutes les docs qu'il faut (je conseille d'ailleurs "GBATEK" pour les gens qui cherchent de la bonne doc sans superflus), par contre je n'ai quasiment rien sur la GP32. Où est-ce que je pourrais en trouver ?

25

http://www.gp32x.com/gp32download.php?do_what=selectfolder&id=48
Par exemple

File moi ton mail en MP g plein de truc a t'envoyé

26

enf65@etu.enseeiht.fr


gol

27

merci, je vais avoir de la lecture !

28

Allé là, g mis tous ce ke j'avais (enfin je pense)
Patienté c en cour d'upload
http://membres.lycos.fr/snake69100/GP32/
le liste.doc explique tout ce kil y a

29

nickel, il y a pas mal de pdf qui vont servir.

J'ai tout juste commencé à lire en diagonal, en particulier la MMU (Memory Management Unit), et le paragraphe "3.3 Address Translation" me plaît bien. Apparement on peut créer des zone de mémoire virtuelles qui font en fait référence à d'autres plages d'adresses grâce à une table "Translation Table Base". Il y aurait peut-être alors carrement plus besoin de modifier la rom GBA.

Celà dit faudrait que je lise à fond la doc avant de dire nimp et de faire des faux expoirs...

30

A propos de la doc recup la sur ton pc parceke je c po combien de temps je vai la laissé sur la page