Obligement - L'Amiga au maximum

Jeudi 25 mai 2017 - 23:59  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Programmation : Assembleur - réaliser sa propre routine d'échantillonnage
(Article écrit par Nicolas Fournel et extrait d'A-News (Amiga News) - janvier 1990)


Adeptes du New Byte et de la Mouse Music, chevaliers "sampleurs ni reproches" de la numérisation 8 bits, les quelques lignes qui suivent vous sont destinées. On y conte comment faire soi-même sa propre routine d'échantillonnage, avec ses grosses papattes poilues et pleines de griffes...

Le principe

Le principe d'une telle routine a au moins le mérite d'être très simple : on doit aller lire à intervalles de temps réguliers sur le port parallèle un octet - résultat de la conversion analogique-numérique effectuée par un échantillonneur - puis l'envoyer sur un canal audio et/ou le stocker en mémoire. Généralement les valeurs fournies par le numériseur s'échelonnent de 0 à 255 (centrées sur 128 pour le silence) alors que Paula affectionne les valeurs centrées sur 0 (de -127 à 127) d'où la nécessité d'un complément à deux réalisé par le subi.l #128,d0 du programme.

Une fois le port parallèle préparé et les interruptions gelées, il reste à trouver une "base de temps" correcte et à réaliser la boucle d'échantillonnage. En mode direct, une interruption de niveau 4 a lieu dès que l'échantillon transféré dans le registre de donnée de la puce sonore a été joué (le temps qui s'écoule entre l'initialisation du registre et l'interruption est directement lié à la valeur du registre de période). Il suffit donc de choisir une période (move.w #xx,$dff0a6), de lire un échantillon sur le port parallèle (move.b $bfe101,d0) et de le transmettre au registre de donnée souhaité puis d'attendre une interruption avant de lire le prochain. Cependant, avec les registres auxquels à accès le DMA, on est obligé de travailler sur des mots et non sur des octets, on va donc transmettre un mot de poids faible et fort équivalents et diviser la période par deux.

Le reste est très classique : test de la limite mémoire qu'on s'est fixée, test de la souris... le programme est commenté. Cette routine tourne parfaitement avec le numériseur Perfect Sound, à vous de tester la compatibilité avec votre matériel s'il diffère (il ne devrait toutefois pas y avoir de problèmes).

La prochaine fois, nous ouvrirons une parenthèse d'un ou deux numéros sur le MIDI et sa programmation. Allez, comme ils disent chez Micro Application : que d'agréables mélodies inspirées d'Euterpe fassent vibrer Paula et votre Amiga... Et j'ai crié Paulaaaa pour qu'elle reviennnne...

La routine

Assembleur


[Retour en haut] / [Retour aux articles]