• [^] # Re: magie

    Posté par (site web personnel) . En réponse à la dépêche DuckStation, un émulateur PlayStation libre époustouflant !. Évalué à 10. Dernière modification le 14 décembre 2020 à 02:07.

    En étudiant autant le fonctionnement du matériel que du logiciel, on appelle ça l’ingénieure-inverse (reverse-engeenering).

    C'est la première base, des passionnés d'électronique et développeurs documentent à partir de zéro, les spécifications du matériel sans documentation (et ce qui fuite). Ça s'apparente un peu à ce que beaucoup de contributeurs au noyau Linux on fait pour apporter le support de pas mal de périphériques faute de pilotes logiciels pour Linux que bien des fabricants ignoraient.

    Ensuite c'est un peu un équivalent d'un Wine pour le système et librairies d'une console en particulier, mêlé à une machine virtuelle avec accélération logicielle ou matérielle avec OpenGL ou Vulkan, et l'émulation de la plupart des composants de la machine (chipset, processeur, puce audio, lecteur...)

    Parfois c'est plus compliqué que prévu, car certains jeux peuvent pousser le vice jusqu'à exploiter des erreurs de conception logicielles/materielles et bugs dans les microprogrammes et bios de consoles, à leur avantage... Il faut donc parvenir à pousser le vice jusqu'à reproduire ces erreurs sans pour autant affecter la compatibilité avec d'autres jeux.

    Et enfin pour outrepasser les capacités de la console d'origine, il faut intercaler entre ces différents éléments, des liens entre des technologies/API logicielles (DirectX, OpenGL, Vulkan, SDL, Cube...) du programme et de l'OS hôte et le matériel virtuel, modifiant à la volée les entrées/sorties. :)