|
||||||||
|
||||||||
| This page is also available in English | ||||||||
| Résumé | [cacher] |
A l'intérieur d'un Snes, il y a un module dédié à
la production du son. Le module de son est composé
d'un processeur (le SPC700), de mémoire (64Kb), d'un dsp
et d'un convertisseur digital/analogue. Le cpu principal du Snes
communique avec le module de son via 4 ports.Voici une page(anglaise) avec photos parlant du module: How sound on the SNES works Les fichiers de musique de Snes en format .spc sont en fait des sauvegarde d'état des composantes du module de son, comme on peut le faire avec le Snes au complet dans zsnes avec F2, mais dans ce cas ci, seulement la memoire du module, les registre du spc700 et du dsp sont sauvegardés. Cela fonctionne car en general, les jeux chargent un programme dans le module de son qui une fois démarré, s'occupe de faire jouer la musique, et de changer de pièce lorsqu'il en recoit l'ordre. On peux faire jouer des .spc avec un spc player(programme ou plugin). Un spc player n'est qu'un émulateur de Snes simplifié (son seulement). Depuis longtemps j'espérais un jour trouver un moyen de pouvoir faire jouer la musique en utilisant un module de son directement, pour que les pièces soient reproduites de manière parfaitement fidèle à aux originaux. (Bien sur les émulateurs peuvent faire mieux en utilisant de plus hautes fréquences et meilleurs algorithmes de rééchantillonnage et de mixage, mais ici il est question d'authenticité, et il ne faut pas oublier le "Cool factor") J'ai trouvé la solution sur le site de caitsith2. Il a trouvé le moyen brancher un module de son sur un port parallel, et a fait un petit programme pour uploader des .spc vers le module et les faire jouer. |
| Shéma | [cacher] |
Voici le plan:
Et voici un fichier contenant le "pinout" du module de son: APU_pinout.txt Tout ces fichiers proviennent du fichier APU Interface.zip que vous pouvez télécharger du site de caitsith2. Si vous construisez ce circuit, contactez moi, j'aimerais avoir des photos à rajouter dans la gallerie d'images. Pour l'alimentation, vous pouvez utiliser un régulateur lm7805 pour obtenir du 5 volts à partir d'une tension plus élevée. L'alimentation 'Digital VCC' du module de son consomme 62mA en temps normal, et 36mA lorsque le signal reset est bas. L'alimentaion 'Audio VCC' consomme 1.3mA en tout temps. Un utilisateur m'a rapporté qu'il avait de la misère à faire fonctionner le montage jusqu'a ce qu'il branche le chassis de l'APU au ground. C'est une excellente idée. |
| Photos | [cacher] |
| Logiciel | [cacher] |
| J'ai tout d'abord tenté d'utiliser le logiciel de Caitsith2, mais cela
n'a pas fonctionné. Après avoir regardé à quoi ressemblait
les signaux avec un oscilloscope, j'ai déduit que l'ordinateur ne laissait
pas asser de temps passer pour permettre aux transistions logique de se faire(cela
doit dépendre de la conception du port parallel). Heureusement, le code
source était disponible, et en rajoutant des delais au bons endroits, tout
a bien fonctionné. L'interface graphique est écrite en VB, le bas niveau en C/C++ dans une dll. J'ai du modifier et recompiler la dll. Si vous avec des erreurs tel que "Error Loading SPC", essayez ma version modifiée après vous être assuré que tout est bien assemblé. Voici la dll: APU_DLL.dll et voici le fichier source que j'ai modifié: apuplay.c. Je ne voulais pas être contraint d'utiliser windows pour me servir du module de son, alors après m'être assuré que tout fonctionnait bien, j'ai adapté le code de la dll pour linux (simplement un appel a iopl pour pouvoir faire des in/out sur des ports, et ajout d'un macro pour les in/out), et j'ai réécrit le code VB en C.(ouch..) Le code source de mon programme est disponible ici:
|
| Ensuite | [cacher] |
Je n'ai pas encore fini de travailler sur ce projet. Voici quelques idées futures:
|
| Gallerie | [cacher] |
| Je destine cette section à contenir des photos de ce projet réalisé par
d'autres personnes. Mai 2005: Christopher Cox m'a fait parvenir 2 images. Il a réalisé ce projet à l'intérieur d'une joyeuse boîte à lunch!
Mars 2006: Jon Batt m'a fait parvenir 4 images:
![]() Janvier 2008: Matthew m'a fait parvenir ces 5 photos: Il a aussi mis un vidéo sur youtube! |
| Musique | [cacher] |
| Voici l'enregistrement d'une pièce jouée par ce projet:
aquatic_ambiance.ogg Les meilleurs endroits ou l'on peux télécharger des trames sonores de jeux au complet en format .spc sont: snesmusic.org L'archive de spc chez zophar. |
| Avertissement | [cacher] |
|
Je ne saurais être tenu responsable pour les dommages
que la mise en oeuvre des instructions présentées
sur cette page pourraient causer à votre équipement
ou à vous-même. Aussi, je ne donne aucune garantie quant
à l'exactitude des informations et à leur fonctionnement.
Notez toutefois que les procédures ci-haut ont fonctionnées
sans aucun problème pour moi. |
Codé manuellement avec
|