Gamoover

Besoin de contacter un admin pour une proposition, une suggestion ou discuter d'un probleme ?
C'est ici : High_Cobra, AsPiC ou Pich

TiltAudio95

Démarré par Bio STEIN, Jeudi 13 Juillet 2023, 12:19:41 PM

Bio STEIN

Regarde la section audio de cette page.
https://www.npmjs.com/package/wpc-emu/v/0.34.5#pre-dcs-a-12738

background music: plays as long the file lasts (optional timeout or looping)
sound effect: is mixed to background music
voice callout: is mixed to background music.
jingle: is mixed but background music is paused or lowered, then resumed
single: as jingle but no resume, background music stops after single

Tu tires quelle conclusion pour le jingle et le single ?

Citation de: Aganyte le Lundi 31 Juillet 2023, 13:10:37 PMJe ne vois pas de quoi tu parles, une adresse = un son non ?

Aganyte

#33
ça me semble clair. Il faudra gérer le module audio en fonction de ça. On peut le faire depuis l'Atmega.

Pour la gestion, soit tu fais des dossiers (façon pinsound), soit chaque titre de fichier son contient un numéro d'identification pour savoir de quel type il est.

On peut aussi imaginer une carte SD contrôlé directement par l'Atmega qui contient un fichier txt ou csv avec l'identification de chaque fichier.


Bio STEIN

Lol, delire, je vais de regarder les schémas du wavtrigger, exactement comme j'imaginais pouvoir le faire :

- 1 stm32
- 1 dac


Le probleme c'est que le code n'est pas ouvert, on est pas avancé à ce niveau mais au moins avec ce modules, on peut deja voir si cela tiens la route au niveau hardware et surtout on a les schémas electroniques et les composants sont standards et perreins.


Les schemas dates de 2014 et deja il mixait 14 pistes, donc cela enleve mes doutes quand a la capacité d'un st32 de faire ca.

Les schemas sont sous eagle. Je les ai ouvert. Donc intégrable sur notre pcb.

Aganyte

ah oui, tu veux carrement refaire le Wavtrigger. Là ça va être un peu plus chaud pour le code sur le STM32.

Bio STEIN

Non, c'est pas ce que je veux dire.

Dans un premier temps, on fait un proto sur la carte de sparkfun. Si on voit que c'est viable, alors on se passe de la board de sparkfun en faisant non meme notre board, mais toujours avec les sources qui ne sont pas de sparkfun mais d'une autres personne, regarde dans la section firmware.

Et peut etre un jour on trouvera un moyen d'ecrire les sources du firmaware nous meme, car la y'a du taf quand meme.

Aganyte

Je vois le soft de programmation mais il n'est pas stipulé qu'il sert à flasher la carte.

Aganyte

#38
Effectivement, il y a des firmwares en bas de page. Par contre, il faudra voir si il n'y a pas un système de protection.


Bio STEIN

Mais pourquoi donc sparkfun donnent-ils les sources eagle si le firmware ne fonctionne qu'avec les boards sparkfun sous licence  ;D . On dirait tiltaudio, qui fait croire a de l'open source en donnant les schemas eagle pour piquer les clients pinsounds, mais c'est toujours aussi fermé. C'est du semi-open source 🤣🤣🤣

Bio STEIN

Aujourd'hui, je boote la cpu AFM, et je regarder les comm sur le port $3FDC sans aucune carte son qui ne répond.
en allant dans le menu, nous avons ERROR SOUNDBOARD, normal
3:231
3:231
3:231
3:231
3:231
3:231
3:232
3:232
3:232
3:232
3:232
3:232
0:0
85:170
127:128

Bio STEIN

#41
ALors, on va remettre à plus tard, l'analyse de la séquence de boot, et nous allons nous concentrer sur le pourquoi une tiltaudio ne fonctionne pas avec un AFM sans la carte son d'origine en paralèle de celle-çi.

j'ai donc fait un bricolage comme je les déteste bien, afin de lire le bus de données qui sort de la carte cpu et la réponse de la carte AV95 dans les 4 conditions suivantes

port DATA en ecriture $3FDC donnée venant de la cpu
port DATA en lecture $3FDC donnée venant de la carte AV95
port CTRL en ecriture $3FDD donnée venant de la cpu
port CTRL en lecture $3FDD donnée venant de la carte AV95


pendant la mise en test en mode séquenciel, la carte CPU va aller demander les sons suivant de 1 à 7
SON n°1
- ecriture de 2 octets 0:2 donc $0002 sur le port DATA $3FDC
- lecture du port CTRL $3FDD -> 2 possibilités la carte AV retourne $3F(pas de données à lire) ou $BF(Donnée disponible)
(je pense que sur une carte pre-dcs c'est différent, car je ne vois sur les schémas qu'un latch sur le Bit 7, à vérifier)
- en cas de donnée disponible, lecture de DATA $3FDC qui retoune un octel en fonction de la musique en cours dans le cas du son 1 -> $82

SON n°2 0:4  donc $0004 retour de la carte AV: $84
SON n°3 0:5  donc $0005  retour de la carte AV: $85
SON n°4 0:8  donc $0008 retour de la carte AV: $88
SON n°5 0:11  donc $000B retour de la carte AV: $8B
SON n°6 0:10  donc $000A retour de la carte AV: $8A
SON n°7 0:16  donc $0010 retour de la carte AV: $90

donc nous voyons un cohérence entre l'id du theme demandé et la réponse en 8bit, il semble que la réponse c'est le poid faible de l'ID +$80, une sorte de checksum en gros.

selon les log, la demande n'est faite que pendant les musique de theme et pas sur les effets sonores, car les sons sont probablement trop court.


Cette confirmation est faite périodiquement avec une periode assez courte, moins de 1 secondes. Je pense que cela sert a la cpu de savoir quand le morceau du theme sera fini, et qu'il pourra le remettre en route en relancer la demande du meme ID. Comme la tiltaudi ne fait pas cette réponse, la cpu pense que le morceau est terminé, alors il redemande a jouer le morceau.

Je comprendre donc pourquoi une tiltaudio ne relance pas le theme quand il sont terminé, j'avais remarqué cela sur le docteur who.





Aganyte

Bravo, tu connais maintenant la cause du problème.

ɐɹqoƆ‾ɥƃᴉH

Citation de: Bio STEIN le Lundi 31 Juillet 2023, 17:12:21 PMMais pourquoi donc sparkfun donnent-ils les sources eagle si le firmware ne fonctionne qu'avec les boards sparkfun sous licence  ;D . On dirait tiltaudio, qui fait croire a de l'open source en donnant les schemas eagle pour piquer les clients pinsounds, mais c'est toujours aussi fermé. C'est du semi-open source 🤣🤣🤣

Tu peux très bien avoir des boards open-source avec un firmware qui ne l'est pas. Les licences open-source sont très différentes entre hardware et software. Par exemple, le hardware de la Wav Trigger est Attribution-ShareAlike 3.0 selon Sparkfun, ce qui le rends diffusable et modifiable a volonté (même avec un usage commercial) si par exemple tu veux coder ton propre Wav Trigger. Par contre, la partie soft développée par Robertsonics est protégée et non open-source.

Rien ne dit (j'ai pas cherché), qu'il n'existe pas un firmware open-source pour aller avec ce hardware (et rien ne t'empêche de faire le tien non plus).

Bio STEIN

Ok,

Comment Sparkun gagne de la tune, si je peux prendre leur schéma et faire mes propres board ? quel est leur business model ?

Citation de: ɐɹqoƆ‾ɥƃᴉH le Mercredi 02 Août 2023, 04:51:29 AMTu peux très bien avoir des boards open-source avec un firmware qui ne l'est pas. Les licences open-source sont très différentes entre hardware et software. Par exemple, le hardware de la Wav Trigger est Attribution-ShareAlike 3.0 selon Sparkfun, ce qui le rends diffusable et modifiable a volonté (même avec un usage commercial) si par exemple tu veux coder ton propre Wav Trigger. Par contre, la partie soft développée par Robertsonics est protégée et non open-source.

Rien ne dit (j'ai pas cherché), qu'il n'existe pas un firmware open-source pour aller avec ce hardware (et rien ne t'empêche de faire le tien non plus).

Bio STEIN

Voila, je termine mes investigations en analysant le processus de boot d'un AFM avec la carte AV95

sans la carte AV, la cpu envoie les infos suivantes sur le port $3FDC

$03-$E7 et cela 6 fois consécutives
$03-$E8 aussi 6 fois consécutives
$00-$00
$55-$AA
$7F-$80

lorsque nous branchons la carte le boot est différent

en premier, il faut rappeler que la cpu demande si il y a une donnée à lire sur le PORT$3FDC en consultant le PORT $3FDD et vérifie si la réponse est $3F (rien à lire) et $BF(donnée disponible)

donc au debut, la cpu va demander des dizaines de fois (je n'ai pas compté) si une donnée est dispo, et la plupart du temps la carte audio va répondre $3F, et puis à un moment, la réponse sera $BF, et donc lire les données suivantes qui seront présentées par la carte audio
la cpu reçois $00 - $79 - $01, j'ai aurais tendance à penser que c'est la version du soft dans la carte AV, qui est affiché en dessous de la version de rom des sons mais il est affiché sur le DMD 3.77 et une date en 1999, il faudra plus tard jouer avec la chaine envoyé par la carte pour vérifier cette théorie

à ce moment, la cpu va envoyer la séquence $03-$E7 et demande à nouveau une réponse qu'elle n'aura pas dans un premier temps et fera donc un retry en demandant à nouveau $03-$E7 et la carte carte AV va repondre $10 qui corespondrait au numéro de verson de la ROM 1.0. je considère donc que le code de commande $03E7 demande la version de rom des sons

ensuite la cpu envoie la commande $03-$E8, à quoi la carte av va répondre 00. je n'ai plus d'info qui me permette de déterminer à quoi correspond cette commande.

ensuite la CPU va envoyer la séquence $0 - $0 je ne sais pas à quoi cela correspond
ensuite $55-$AA-$7F-$80; qui correspond au volume à 15 qui est à parametrer au démarage de la carte AV, car elle n'a pas de sauvegarde hors alim. si j'augmente le volume avec les bouton (vol 16), je vois la séquence $55-$AA-$87-$78, donne l'incrément est bien plus que 1. à appronfondir l'encodage de la valeur du son.

voila.



 


ɐɹqoƆ‾ɥƃᴉH

Citation de: Bio STEIN le Mercredi 02 Août 2023, 09:20:46 AMOk,

Comment Sparkun gagne de la tune, si je peux prendre leur schéma et faire mes propres board ? quel est leur business model ?


Les 99.9% des gens qui n'ont pas les compétences/le temps/l'envie de refaire tirer et surtout monter des cartes que tu peux acheter toutes faites (avec les contrôles qualité et potentiellement la garantie qui va avec).

Le tout avec un délai de livraison relativement court...

flip78

De mémoire la commande $00-$00 arrête tous les sons et musiques en cours mais en plus il me semble remet le volume à zéro.