Après des mois de recherches, le code est publiable dans les prochaines heures.Zetsubou-sensei a écrit : Virtuellement, l'implémentation du YM2612 sur un ASIC (avec les correctifs) me donne exactement le même son que la capture à même la sortie du DAC originel.
A l'oscilloscope sur la puce, ainsi qu'à l'analyse spectrale des fichiers son, nous tombons sur les mêmes résultats (les courbes se superposent), on pourrait remplacer le DAC sans problème avec cette dernière implémentation.
Je vais tout de même débugger quelques temps avant de proposer le code en accès open source, sûrement sous licence GPLv3.
Par remontée entre les divers développeurs et projets, tout ceci sera intégré d'ici à une semaine dans la plupart des distributions connues (sauf KEGA Fusion, qui est le plus connu sur PC; Steve Snake étant injoignable depuis des années et son code n'étant pas accessible - les joies du code fermé).
Plusieurs séries de mesures ont été effectuées à 4 paires de mains (et autant d'oscilloscopes), afin de mesurer le DAC dans chacune des 6 révisions connues de la SEGA Megadrive/Genesis.
Très beau travail d'équipe à l'international entre chercheurs et créateurs d'émulateurs - avec seulement quelques chats un peu trop curieux/réclameurs de câlins, pour poser leurs pattes sur les PCBs pendant les mesures parfois...
Mesures qui ont révélées, qu'effectivement, toutes les implémentations connues et les documentations écrites sont incomplètes (documentation officielle de développement SEGA : Yamaha a omis de donner certains détails de sa puce sonore) ou carrément fausses (précédentes tentatives de rétro-ingénierie avec des moyens moins importants).
Notamment grâce à l'aide de l'équipe de demomaking TiTAN, il a pu être mis en avant que le mixage des canaux était incorrect (mélange entre les documentations, qui se basent sur des révisions différentes de la console - et chaque révision à sa sonorité au final).
Ce qui a été confirmé par les mesures et corrigé par la suite : il va être possible prochainement de choisir (dans plusieurs émulateurs participant aux recherches) la révision de la console que l'on souhaite simuler.
Annonçant notamment la fin des sonorités étranges des sauts dans Sonic & Knuckles, que les puristes de la console d'origine savent distinguer à l'oreille en double aveugle.
Les modes de la puce Yamaha YM2612, dits SSG-EG (modifications des attacks et decays sur le module FM) et CSM (pouvant permettre de générer des phonèmes intelligibles) n'avaient jamais été documentés complètement, encore moins simulés à ce jour.
Correction écrite également, mais uniquement utilisée par deux jeux obscurs, uniquement sortis au Japon.
D'autres modifications sur les timings et interruptions permettent également de simuler le comportement possible sur un jeu non-officiel (Pier Solar and the Great Architects), seul jeu proposant son OST fournie au format SEGA-CD, en même temps que le jeu est lu sur la SEGA Megadrive/Genesis.
Pour rebondir sur ma citation : Virtuellement, à ce jour, on est au niveau de la précision au cycle d'horloge près et il devrait être humainement impossible de distinguer cette fois le rendu sorti de la puce, de sa simulation.
Certains vont faire un foot, se promener, passer du temps ailleurs; d'autres s'amusent avec des composants électroniques et des appareils qui font plein de courbes pour tenter de duper.
C'est aussi cela la HiFi : tenter de reproduire fidèlement tout en dupant complètement.
Supplément : photos de la coupable, qui s'amuse à fausser les mesures sur les consoles. Elle a depuis été mangée, comme tous les autres chats perturbateurs.