★ CODING ★ AMSLIVE ★ AMSLIVE n°15 - YM FAIT DU SKI ★ |
AMSLIVE n°15 - YM FAIT DU SKI | Coding Amslive |
De tout temps, les hommes se posent des questions. Qu'est-ce qui lie la conscience au corps ? Les notions de mérite et de responsabilité reflètent-elles l'illusion du libre-arbrite ? Tout commença lorsque Arnaud Carré alias Léonard décida d'écouter à son aise sur PC (ce qui semble contradictoire) des musiques d'Atari ST. Cet ordinateur utilise un composant Yamaha, clone du AY de General Instrument. Les différences se résume à :
QUELQUES BYTES SUFFISENT L'intérêt d'un tel composant, c'est qu'il suffit de lui envoyer quelques données (hauteur du son, amplitude.») et il s'occupe du reste. Généralement, on remet à jour ces paramètres tous les 50ièmes de seconde (en phase avec le rafraîchissement écran), et cela donne les musiques que l'on entend dans la majorités des jeux et démos. Le rôle d'un "player" consiste à préparer les données à envoyer. Par exemple, tel son de percussion correspondra à une suite de valeurs (au début l'amplitude est forte, puis l'amplitude décroit rapidement tandis que la période augmente). On ne stocke qu'une seule fois cette suite, et on nraura qu'à mettre le numéro du son à chaque fois qu'on en aura besoin. Cela explique pourquoi les fichiers musiques se révèlent si petits. BIENVENUE DANS UN MONDE DE BOURRINS L'autre solution retenue par Léonard est de stocker toutes les valeurs fournies au PSG- Si tel passage se répète X fois, et bien il y aura X fois les mêmes données. Cela dispense d'un player spécifique qu'il faudrait traduire pour passer d'une machine à une autre, mais prend énormément de place. Cependant, une fois compressé, on retombe à des fichiers de quelques kilo-octets. Mais la compression utilisée sur PC demande de gros tampons, et pire, décompresse tout d'un seul tenant. Ce n'est donc pas exploitable sur CPC RETOUR DANS UN ILOT DE FINESSE Sur CPC, il faut compresser à notre manière, de façon à pouvoir récupérer les données petit à petit, et sans avoir à conserver celles qui ont servi. Sur MSX des bougres ont créé le format MYM, remaniement du YM à une sauce plus digeste. Le Spectrum a suivi, et maintenant des CPCistes (dont Andy C. et Kevin Thacker/Morpheus) sont en train de porter le player MYM. Une version 0.4 est sortie, ne faisait pas de correction de fréquences et s1arrêtant inopinément. Patientez un peu, Overlanders proposera bientôt un kit de création de .AY : des ziks plutôt compactes bénéficiant d'un replay très peu gourmand en temps machine. LE BUG DU YM Signalons au passage que le format YM a un défaut il faut d'abord savoir que quand on renvoie deux fois la même valeur dans un registre, rien ne se passe. Sauf dans le cas du registre 13 ! En effet ça réenclenche la génération de l'enveloppe à partir du début. Léonard a prévu le coup en introduisant la valeur flag #FF. Si on la rencontre, on ne touche pas au registre. C'est parfait, car il s'agit d'un registre 4 bits et il n'y a donc pas de confusion possible. Mais il applique aussi ça aux registres 11 & 12 (qui sont 8 bits), alors qu'il n'y a pas lieu de le faire. Ainsi donc, avec le format YM, impossible d'envoyer une enveloppe de période #FF, (ni #FFxx, mais je ne crois pas que celles-ci soient bien indispensables !). CONCLUSION Le CPC c'est bien beau. AMSLIVE n°15 » YMCRUNCHER v0.8 win32 ( NEW)
|