CODINGSOURCES ★ KIT .AY v0.3 (béta) Overlanders 05/2000 (c) N'importenaware ★

KitAY|MADRAM)Coding Sources

Avant propos

Si les termes YM, AY, PSG ne vous disent rien, commandez Amstrad Live no 15 ! Renseignements auprès de :

Emmanuel Roussin
10 avenue du Capitaine Minard
75015 PARIS

roussin@cybercable.fr
www.genesis8bit.com

12 Fichiers

CPCTAY  .SCE : Routine de compression CPCT légèrement modifiée.
CPCTAY  .BIN : Binaire pour le programme BASIC.
DEMO-AY .BAS : Lanceur
FOFT    .BIN : Zic de Ben Daglish avec supers sons hard qui vont bien.
KITAY-FR.TXT
PLAY-AY .SCE : v0.5
PLAY-AY .BIN : Binaire pour démo.
READASC .SCE : Pour lecture sequentielle.
READASC .BIN
YM2AY   .BAS : v0.4
YM2AYASM.SCE : Conversion de periode, detection FX... v1.1
YM2AYASM.BIN

Le but

Le but de ce kit est de générer des modules soundchip compacts et nécessitant peu de ressources pour les rejouer (grace au player Overlanders adéquat !).

Autre intérêt : la conversion automatique des fichiers .ym permet de profiter de centaines de musiques Atari disponibles. La conversion de fréquence pour un ym spectrum n'est pas dispo pour l'instant.

Cette version

Cette pré-version très incomplète est proposée pour ceux ayant un besoin urgent d'insérer une ou plusieurs ziks peu gourmandes en temps machine, ou de convertir une zik d'Atari ST (remarque : il y a aussi des musiciens CPCistes qui seraient ravis de vous envoyer des modules originaux ou des hacks peu connus de jeux. N'est-ce pas chef Shap ?).

NE PAS L'UTILISER POUR UNE AUTRE RAISON !

Par exemple, pas la peine de commencer une archive de .AY, car ceux crés avec cette version sont officieux ! Le format officiel permettra de stocker des infos (auteur, provenance, etc...). De plus, la compression sera un peu améliorée.

Comment convertir

Il suffit de transférer sur une disquette AMSDOS un fichier YM5 ou 6 décompacté (utiliser LHA). Ceci implique une limite de 178 ko (donc 178*1024/14 = 13019 itérations, soit 4'20) contournable avec des formats spéciaux.

La conversion se fait automatiquement. Ne pas enlever la disquette, le programme lit le fichier petit à petit.

Chaque registre est compressé suivant 2 méthodes. L'une nécessitera un buffer de &100 pour la décompression, l'autre un buffer de &400.
A la fin, le programme trace un tableau des tailles obtenues, à vous de faire le choix registre par registre.
Dans la pratique, la deuxième méthode ne se révèle intéressante que pour les registres 0, 2 et 4.
Avec ce cas de figure, il faut donc prévoir 11*&100 + 3*&400 = &1700 de buffer, soit près de 6 ko ! Bien s^ur, plusieurs musiques pourront réutiliser cet espace de travail, sauf si on souhaite basculer de l'une à l'autre sans réinitilisation...

Attention, les effets speciaux (sid/Tuner synthesis, ou Digidrums) sont détectés, les registres virtuels correspondants sont inclus dans le .ay, mais le player ne les prendra pas en compte !

Petits détails

Une conversion prend une dizaine de minutes. Ne vous étonnez pas de voir apparaitre des zigouigouis, je me sers de l'écran comme tampon.

La correction de fréquence n'est prévue que pour une zik provenant de ST. Ce qui veut dire que si vous convertissez un YM CPC à 1 MHz, le AY sera un octave trop haut ! (Remarquez, il n'y a que 3 CALLs à enlever pour désactiver cette correction).
Pour la meme raison, un YM Spectrum ne sera pas rejoué à la bonne hauteur.

Pour des précisions sur la compression, consultez la notice de CPC_T v2.0.

Le rejouage

Si vous choississez de ne pas faire boucler la musique, la routine sera très légèrement plus rapide ! En effet les références de chaines sont prévues pour des données décompressées à partir du début du buffer.
Lorsque la musique boucle, le pointeur n'est plus au debut du buffer, et il faut corriger chaque reference. Quand vous mettez le flag WANTLOOP à 1, cette correction est toujours faite (avec une valeur relative nulle au départ).
Le fait de ne pas boucler permet d'autres optimisations (par exemple, quand une chaine est plus longue que le nombre de données à fournir, la routine saute à du code autogénéré qui copie automatiquement "NBR_REG" octets...)

Le bouclage est prévu pour enchainer sans delai la toute dernière serie de valeurs PSG avec la toute première. Lors de 14 (NBR_REG) itérations, il y a un surplus en temps machine d'environ 3 lignes raster.
Pour peu que ca intéresse quelqu'un (\a sera surtout utile pour le cas d'un player stable en temps machine), je pourrais faire une version sans surplus mais avec un délai ; il faut que la musique s'y prete.

Pour d'autres détails, référez-vous au source sous DAMS, il est commenté.

Bugs

Pas de bug connu. Il y en a peut-être, mais la routine de jouage est "stable" : d'une exécution à l'autre de la routine, on obtiendra toujours le même résultat !

Trucs à venir

  • Le traitement des registres lorsqu'ils sont stockés fichier par fichier.
  • La conversion autre que les YM5 et 6 Atari : autres versions du YM, ziks SoundTrakker128 compilées (et non compilées aussi, mais bien plus tard ça), ziks AMC ou de jeux...
  • La détection des registres constants. Dans certaines ziks, certains reg (généralement le poids fort de la période d'enveloppe (12), mais quelque fois les poids forts des périodes (1, 3 ou 5)) restent constant tout au long. Inutile donc de les compresser.
  • Le format .AY contiendra des flags pour connaitre les registres présents. Cela permettra d'inclure facilement des registres virtuels, ou alors de ne stocker les registres d'un seul canal, pour des bruitages par exemple.
  • Le bouclage à un autre point que le début.
  • Une stricte améloriation des 2 variantes de compression.
  • Accéleration de la compression (pas urgent !).
  • Version du player fixe en temps machine.

La musique d'exemple.

Très chouette musique de Ben Daglish (Federation Of Free Traders), avec un passage démoniaque de "sons hard". Le ratio de compression obtenu est de 2.5% (3599 octets -contre 2154 pour le YM).

Nimporte'naware ?

Cet utilitaire incluant les routines de CPC_T v2.0, il obéit à la même licence : le nimportenaware.
Le concept est plus sérieux que le nom ; il s'agit d'envoyer une participation dépendant de :

- l'utilisation que vous faites du logiciel (ou des routines).

- la valeur à laquelle vous l'estimez.

- vos propres moyens.

De plus, je ne demande pas obligatoirement d'argent. Vous pouvez m'envoyer des choses plus originales ou personnelles (n'en profitez pas pour me fourguer des saloperies !). Au cas où, voici quelques-uns de mes centres d'intérêts :

- le Hard Rock (Heavy Metal, Progressif couillu...), la BD européenne, le cinéma, le sexe (heu... je plaisante, Maman !).

Merci d'avance, Dieu (ie le grand Tout) ne vous le rendra pas forcément !

Un logiciel non-gratuit sur CPC ?

Une rénumération m'évitera autant d'heures de travaux avilissants, que je pourrais alors consacrer au CPC, pour votre plus grand bien :-)

Contact

    GEREY Yves
    7 bis rue des vignes
    33470 LE TEICH

madram@roudoudou.com

Overlanders tool. CPC rules !

★ LICENCE: COMMERCIALE
★ ANNÉE: 1998
★ AUTEUR: MADRAM

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tools:
» coding  music  KITAYDATE: 2013-08-29
DL: 173 fois
TYPE: text
SIZE: 28Ko

» kitayDATE: 2002-12-02
DL: 169 fois
TYPE: ZIP
SIZE: 22Ko

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Récupérer une musique dans un jeu CPC (Tom et Jerry GPA 1993,2001)
» Coding Src's » De la musique avant toute chose
» Coding Src's » ConvWAV v0.1 (DEMONIAK)
» Coding Src's » .PT3 Player
» Coding Src's » Sampler (enregistrement / restitution d'une source sonore branchee sur le port K7)
» Coding Src's » Intro Musicale

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.75-desktop/c
Page créée en 062 millisecondes et consultée 1348 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.