3Fermer5
DaroouLe 08/06/2020 à 10:50
C'est l'histoire d'un gars qui fait des test sonore sur son Milan mais qui ne branche pas les HP (connecté au PC).
Il aurait pu s'en passer et afficher l’activité du DMA via un oscillateur soft dont l’icône est présente sur le bureau...

Il était tellement heureux que ça ne plante pas le Milan pour la 9000ème fois...

50 boucles sans planter, 100... 1000... 5000... 10.000...
il laisse le test tourner durant la nuit... 15.000... 20.000...

Au réveil, un bien bel affichage... 32.000 boucles sans planter. Test terminé avec succès!

Gloire à lui, il a trouvé la solution miracle... enfin !

Il s'empresse d'annoncer sa trouvaille dans une célèbre publication: yAronet

Il modifie sa routine pour jouer un son, vire toutes les bidouilles qu'il avait ajouté pour jouer les sons sur son Milan (buffer tournant avec écriture des sons à la volée par tranche de temps)

Recompile son soft, transfert sur le Milan pour créer les archives.
Commence le test final avec cette archive sur le Milan, toujours pas d'HP, mais lance cette fois l'oscillateur soft... et rien... il affiche rien...
La fréquence affichée est bonne mais le DMA est off...

Version debug... consultation du fichier de LOG...

Et c'est le drame...

Buffptr() indique que la DMA pointe sur l'adresse 0...
Car Setbuffer() refuse les adresses TT RAM et renvoie un code d'erreur...

Comme la réponse était géré dans le test, Bufoper() n'était pas exécuté, donc ça ne plantait pas.


Il modifie sa publication... et change d'activité durant plusieurs jours...