Un troisième portage de PCSX ? détrompez-vous ce futur émulateur n'a strictement rien à avoir avec PCsx. Il n'est pas encore finalisé car Hlide est en pleine écriture "from the scratch" de cet émulateur. Envie d'en savoir plus ?
Avant de vous parler de ce nouveau projet, il faut donc expliquer un minimum comment il est né et pourquoi. Hlide est le programmeur qui s'était proposé de programmer le Dynarec de Psx-P.
Ces idées et la théorie avancée pour faire fonctionner ce Dynarec ont su nous convaincre de ses capacités. Nous avons donc mis en contact Hlide et Yoshihiro. Si la bonne volonté semblait être des deux côtés, Yoshihiro n'a jamais donné ses sources à Hlide pour des raisons qui lui sont propres et qu'il vous expliquera directement sur notre forum s'il en a envie Mais c'est son choix et il faut le respecter.
Quoi qu'il en soit, Hlide avait toujours énoncé son envie de développer un autre projet plus performant car, d'après lui, PCsx n'est pas adapté pour un portage sur PSP et ne donnera jamais une réelle satisfaction. Il avait cependant sincèrement envie de participer à la création du Dynarec de Psx-P, se sentant capable de mener deux projets sans parasiter l'un au profit de l'autre.
Ce projet est encore sur le papier et il manque à Hlide quelques informations techniques mais il a su intéresser quelques autres développeurs au projet et la faisabilité nous semble plus qu'évidente.
Notez que PSPGen sera le site officiel de YAPSxP et que nous allons ouvrir un site dédié.
Je laisse la parole à Hlide qui a annoncé ce projet dans notre Forum (ICI)
En effet, las d'attendre l'hypothétique source de
Yoshihiro qui m'était promis pour que j'intègre un dynarec, j'ai décidé de
partir seul dans l'aventure.
Comment est née cette aventure ?
Le point de départ de mon aventure, c'était de proposer un dynarec qui pourrait
s'exécuter au moins deux fois plus vite que la PSX ne pourrait faire, en
espérant que le reste de l'émulation ne dépassera pas l'autre moitié des
ressources disponibles : bref permettre d'émuler la PSX en fullspeed. Un
chalenge, en fait.
Pourquoi je ne reprend pas PCSX ?
C'est simple, ce source n'est absolument pas adapté pour la PSP. Il n'est pas
particulièrement optimisé car il est écrit pour du PCs survitaminés en gigahertz
qui gèrent naturellement des réels de doubles précisions. Si vous essayez de
générer ce code pour la PSP, vous obtiendrez un code monstrueux pour le moins
inefficace parce que la PSP ne gère pas nativement les réels à double précision
- très utilisés dans le GTE par exemple : la PSP ramera dans les jeux d'action
3D qui font usage massif du GTE. En gros, c'est ce que vous obtenez avec PSX-P.
Que contient actuellement YAPSxP ?
- Le dynarec CORE0 (R3000AF) qui se déclinera en CORE1 puis en CORE2, une fois
l'émulation du GTE (en cours) et du COP0 entièrement implémentée.
Que contiendra YAPSxP ?
- La gestion d'un pad standard (déjà écrit mais non testé)
- La gestion des graphismes (GPU, là je tâte sur la manière de procéder)
- La gestion de la vidéo (MDEC, vive le VFPU !)
- La gestion des images (CDR, euh... ça ne va pas me passionner des masses
ça...)
Qu'est ce que ne contiendra pas
YAPSxP, du moins dans un premier temps ?
- les savestates
- les sauvegardes
- le son (je ne désespère pas de le faire un jour)
- bref, le reste
Voilà, les sources ne seront pas GPL comme j'avais prévu au départ. Je suis dans
la vie active donc il ne faudra pas espérer le voir tourner complètement pour
noël : il ne servira rien de me demander la date d'une première release. Je ne
crois pas que PCSX s'est fait en un mois à l'origine. Or ça ne fait pas un mois
que je débute ce projet, mais le dynarec est en très bonne voie et devrait
promettre pas mal avec la gestion du GTE et COP0.
NOTE: s'il y a des développeurs talentueux parmi vous qui aimeraient contribuer
sur des parties que je ne compte pas implémenter pour la première release, vous
pouvez toujours me contacter par PM.
NOTE2:
- CORE0, dynarec qui s'exécute comme un interpréteur, essentiellement pour le
besoin de Proof Of Concept et de déboggage.
- CORE1, dynarec reprenant les base du CORE0 mais en exécutant un bloc avec le
plus possible d'instructions générées afin de dégager suffisamment de ressource
CPU pour le reste à émuler. Déjà testé avec bonheur sur une pré version.
- CORE2, dynarec avec des optimisations supplémentaires qui permettront à
l'émulateur d'être un peu plus "intelligent".
-
Commentez cette news en cliquant ici
-