127Fermer129
furrtekLe 24/01/2011 à 19:11
Le datasheet (si on peut appeler ça comme ça... c'est plutôt une brève de datasheet traduite j'ai l'impression) du YM2610 donne tout ce qu'il faut savoir pour lui faire faire sortir du son.
Il manque juste les caractéristiques électriques détaillées mais si on en reste au code, on s'en fout pas mal.

Je vais pas la re-traduire en français ici parce que je doute que ça puisse aider, mais j'expliquerais bien comment parler au chip sur le wiki. A la base ça se fait par 4 ports du Z80, qui sont reliés aux 4 ports du YM2610 (status A/B, data A/B). Après, c'est juste une histoire d'écrire les bonnes données dans les bons registres.

Le plus simple c'est la lecture ADPCM-A: on donne l'adresse de départ, l'adresse de fin, on active le canal et c'est parti. Ça marchait très bien dans Astrosmash pour les explosions avant que je casse tout dans le dernier iso (Kuk m'a dit qu'il y avait plus du tout de son, mais je crois que c'est mon code 68k qui n'envoie plus les commandes).

Le SSG, y'a des registres pour la fréquence, l'amplitude et l'enveloppe de l'amplitude. Le tout sur 3 canaux. Pas bien plus compliqué. Il faut cependant faire la conversion notes/fréquences pour lire des mélodies, ce que je n'ai pas du tout fait (que des bips à fréquence variable sur deux canaux, un pour les alertes missiles, un pour les alertes ovnis).

La FM j'y ai pas touché, j'ai toujours du mal à comprendre ces histoires d'opérateurs et toute la synthèse FM en général alors je préfère attendre de comprendre avant de faire n'importe quoi.

Donc quand je dis "driver" c'est vraiment un petit driver minimaliste juste pour le jeu, qui n'est pas capable de lire de la musique à proprement dit. J'up la source dès que j'ai fini l'article sur le wiki.

Il y a des tableaux dans la doc qui décrivent les registres et la signification des bits. J'avoue qu'il y a quelques parties qui sont pas bien claires (cases mal alignées qui font croire que des bits sont regroupés). La source des émus aide bien à éclaircir ces points.

Si y'a des utilitaires qui ont été écrits spécifiquement pour Z80 et pour la famille du YM2610, normalement il y a pas de raison pour que ça soit dur à adapter sur NG...

(Les FX, soit je les prend de freesoundproject, soit ils viennent de mon synthé. Faut bien qu'il serve de temps en temps !)