MSX Village forum

La Place des Développeurs [RESOLU] Utilisation d'un micro Msx-Audio sous Basic. Comment activer un micro sous Basic.

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 05/02/2013 à 17h28

Reprise du message précédent

Ca vallait le coup de demander votre participation :D

Dans cette commande, 08 va utiliser 256Kb (256/8 32Ko ou encore 35kB)
08 00 256kb activé, actice le timer

Comment faire pour utiliser les 256Ko (256kB => 2048Kb) de l'Expander Frs/MsxPro ?
Merci :D


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 06/02/2013 à 08h20
Jipe :


je recherche la liste des registres du Music Module pour dépouiller le programme




Peux tu me dire ou je peux trouver cette documentation s'il te plait?


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 06/02/2013 à 12h16
igal :
Ca vallait le coup de demander votre participation :D

Dans cette commande, 08 va utiliser 256Kb (256/8 32Ko ou encore 35kB)

08 00 256kb activé, active le timer

Comment faire pour utiliser les 256Ko (256kB => 2048Kb) de l'Expander Frs/MsxPro ?

Merci :D




Je ne connais pas le détail du travail réalisé par FRS, ceci dit il n'a travaillé que sur le BIOS, et n'a donc pas modifié le hardware. De toutes façons, le bit D1du registre 8 du Y8950 ne peut prendre que 2 valeurs : 0 ou 1 (voir page 16 du manuel).



Pour la valeur 0, c'est une RAM de 256 Kbits (donc 32Kbytes / 32Ko)

Pour la valeur 1, c'est une RAM de 64 Kbits (donc 8Kbytes / 8Ko)



L'extension à 256Ko n'est donc pas prévue par les registres du Y8950, mais je suppose que la fonction du registre est de limiter l'adressage dans le cas d'une RAM à 8Ko. Et donc l'utilisation d'une RAM de 256Ko devrait pouvoir se faire de façon transparente en paramétrant le bit D1 à 0.



igal :
Jipe :
je recherche la liste des registres du Music Module pour dépouiller le programme


Peux tu me dire ou je peux trouver cette documentation s'il te plait?




Le lien vers le manuel est dans le dernier message de Jipe. Edité par Metalion Le 06/02/2013 à 12h17


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 06/02/2013 à 18h18
merci pour ces précisions Métalion.

Je dois comprendre que la l'enregistrement n'est pas limité à 32Ko, mais à 4,6 Secondes par le biais du Timer.

J'essaierai de comprendre comment doit être lu D0 => D7... (si je dit pas de bétises sur 2 octets en Hexadécimal.

8A donne

Octet de Gauche => 1 0 0 0 (8 + 0 + 0 + 0)
Octet de Droite => 1 0 1 0 (8 + 0 + 2 + 0)

Par contre, Si cette expression "08" signifie [REGISTRE 8], l'expression "00" sont les deux octets qui définisse l'état du registre?

Tout autre chose.

J'ai fait quelques essais avec la résistance R41.

Comme on l'a vu un peu plus haut, R41 fait 10Kohms d'origine.

Il est recommandé de la remplacer par une résistance de 27 Kohms pour obtenir un niveau Sonore équivalent à une Fm-Pac et PSg.

Je précise au passage que lorsque l'on écoute une DIGITALISATION qui à été Stockée en mémoire, ce Sample subira lui aussi un Gain de Volume tout comme la FM générée par le Y8950

Par contre, le Volume [Entrant] en live, se fait entendre dans le MSX avec un volume tout autant affaibli qu'à été augmenté le Volume de la FM et du SAMPLE mémorisé.

A partir de ce constat, j'ai donc essayé de changer la Résistance R41 non pas Supérieur à l'original, mais inférieur.

Forcément, le Volume de la FM ainsi que des SAMPLE mémorisés sont cette fois diminués, mais le volume de l'entrée audio "à la volée" à bien augmenté.

J'ai mis une Résistance de 5Kohms à la place de [R41] 10Kohms.

Nb: Cet enregistrement contient trop de Basses et pour cause,J'a du oublier une option qui renforce les Basses lors de la lecture sur le PC.

Voici le rendu:
http://igalsirour.hautetfort.com/media/01/02/51575712.mp3

J'ai pas eu le temps de recommencer :oups

Encore autre chose:
Sur le Datasheet du TL074, j'ai vu qu'il était équivalent au LM324. J4ai donc remplacé ce TL074 [IC18] par ce LM.

Pour [IC19] CA324 je l'ai aussi remplacé par un LM324 :fou
Il me semble que le CA324 est légèrement différent au niveau du traitement.

Je me demande si on peut implanter un DAC de meilleur qualité à la place de l'original.

J'avais oublié de préciser que lorsque l'on met un SON en Mémoire, ce SOn est toujours mieux rendu que lorsqu'il est entendu à la volée!

Je n'ai pas encore saisi tout le processus, mais il semblerait qu'un SAMPLE "joué" passe par un filtre contrairement au SOn que l'on entend en direct!

Voici le Rendu d'une bande SON mise en mémoire et restitué certainement à travers d'un filtre.
http://igalsirour.hautetfort.com/media/01/00/871102147.mp3



Edité par igal Le 06/02/2013 à 19h29


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 06/02/2013 à 18h39
Igal tu peux convertir facilement les valeurs décimales , hexa-décimales et binaire

avec le MSX :
PRINT HEX$ (10) converti du décimal en hexa
PRINT BIN$ (10) converti du décimal en binaire
PRINT &B10101converti du binaire en décimal
PRINT &HAA converti de l'hexa en décimal

avec le PC
il y a une superbe calculatrice dans windows
une fois l'affichage mis en scientifique on a accés au binaire et a l'hexa


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 07/02/2013 à 11h01
Merci pour ces précisions Jipe.

En fait je voudrais surtout savoir si mon raisonnement est juste sur la lecture des DATAS ou alors c'est pas du tout ça :moue

Au départ, le programme (BASIC ou PAS) précise à quel périphérique il s'adresse (OUT ou autre(s) moyen(s)) et ensuite les DATAS se présentant par PAIRES chaque première paire précise à quel REGISTRE on attribue la PAIRE suivante (Deux Octets Hexa)?

Pour revenir au Hardware, j'avais peur de rester bloqué sur les très nombreux parasites et "crachouillis" sur la numérisation à la volée.

SI je raconte pas de bêtises:

1) Ce qui est Numérisé et Stocké pour ensuite être restitué passe par un Filtre :top
(Il y a même un MUTE qui doit certainement couper le SON pour éviter les parasite lorsque le volume est très faible)

2) Ce qui est Numérisé mais pas stocké et simplement renvoyé à l'écoute n'est pas Filtré!

Ce faisant, je me suis rappelé les paroles du maître

Un truc du genre....NON IGAL....Le Condensateur sur le Covox sert de filtre :glass

Me suis fait un café, mis un Condensateur 100nF sur R41 qui pour rappel ne fait plus que 5Kohms.
J'ai descendu R41à 3,3Kohms .

Et voila le résulta :D
http://igalsirour.hautetfort.com/media/00/02/2316722107.mp3
Nb: En cherchant plus encore, on devrait pouvoir peaufiner mais je préfère en rester là ;)
Nb: J'ai laissé la bande SON telle que je l'ai enregistré avec Audacity. (J'ai apporté aucune amélioration)

A Jipe: Qu'est ce qui limite la numérisation à 16Khz?
Il est peut être aisé de modifier pour passer à une fréquence plus élevée non ?

Pour aller encore plus loin :fou

A) Je dispose de 2 Music Modules.
B) Ces Périphériques répondent aux mêmes adresses.
C) Je peux envoyer la Source Audio [DROIT] sur l'un.
D) J'envoie la source Audio [GAUCHE] sur l'autre.

Chaque Music Module traitant son DAC indépendamment du MSX, ce montage à de fortes chances de fonctionner. Edité par igal Le 07/02/2013 à 11h22


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 07/02/2013 à 13h08
Et voila, LA stéréo est très bien restituée avec les deux Music Module.

http://igalsirour.hautetfort.com/media/01/00/530426889.mp3
Nb:Il a fallu que je vire l'Expander MsXPro et que je remette la DRAM en IC8 pour que la Numérisation à la volée fonctionne.

Avec le kit de MsxPro, il fallait imperativement passer par la mise en mémoire volontairement pour ensuite pouvoir entendre la musique.

quelques images du montage:





Une petite video:





Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 07/02/2013 à 15h29
igal :
A Jipe: Qu'est ce qui limite la numérisation à 16Khz?

Il est peut être aisé de modifier pour passer à une fréquence plus élevée non ?


C'est la fréquence maximale des DAC qui sont dans le module (voir page 33 du manuel).


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 07/02/2013 à 16h36
pour que tu comprennes les valeurs que tu appelles par paires il faut savoir que les valeurs sont sur 8 bits ( 1 octet ) et vont donc de 0 a 255
ça se traduit en hexa de 00H a FFH ( le H veux dire hexa )

pour les registres il faut s'imaginer des cases mémoires qu'il faut remplir et qui activent des fonctions dans le processeur

donc on passe ces données par les ports C0H et C1H par des OUT

a la page 15 on a une représentation d'ensemble des registres

le détail des registres va de la page 16 a 28les pages 33 et 34 donnent des tableaux pour divers modes
voir la correspondance de ces tableaux avec les datas du programme basic

les pages 35 et 36 explique comment fonctionne la ram et comment l'initialiser

les n° de pages sont ceux du PDF

il faut que je retrouve le schéma pour la mémoire d'origine et pour les 256k que j'ai dans une autre doc


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 10/02/2013 à 12h05
Le Datasheet du Y8950:
http://www.datasheetarchive.com/dataframe.php?file=DSA-446635.pdf&dir=Datasheets-23&part=Y8950%20Manual#

@Jipe: Je voulais avoir ton avis sur la chose suivante:

Voici le diagramme original du Music Module:


Voici le Diagramme avec le chemin supposé de la numérisation:
En Bleu Foncé, le cheminement "certain" avec stockage en mémoire de la Voix numérisée.
En Bleu Clair , le cheminement "supposé" après la sortie de mémoire de la Voix numérisée.
En Rouge, le cheminement "certain" sans stockage en mémoire de la voix numérisée.
En Jaune, le cheminement "supposé" sans stckage en mémoire de la voix numérisée.


Si le cheminement décrit au dessus est juste, je me demande si je peux appliquer le cheminement ci dessous:
En Violet, le shunt que je voudrais appliquer :p


Le but étant d'obtenir un SON "nettoyé" comme lorsque ce dernier est mis en mémoire "volontairement" et restitué par la suite.

Evidemment, si le "nettoyage" est réalisé par le Y8950, alors ce shunt "en violet" n'apporterait à priori aucune amélioration de la Bande SON.

Le but de la manoeuvre est d'essayer de trouver une solution intermédiaire à mon "filtre" [Condensateur 110nF] monté sur R41.
Ce condensateur tel qu'il est positionné est à double tranchant puisqu'il filtre les parasites mais "détruit"aussi les aigus.

Pour rappel, j'ai pris la liberté de changer TL074 et CA324 par des LM324 ainsi que de réduire R41 [10Kohms] à [3Kohms].

Le TL074:
http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXvwqq.pdf

Le LM324:
http://www.datasheetcatalog.org/datasheets/208/62529_DS.pdf

Le DAC08:
http://www.datasheetcatalog.org/datasheet/philips/DAC08E.pdf
Si je raconte pas de bêtises, sur le Music Module, le DAC08 est en DUAL LINE.

Edit: Je complète avec cet extrait du Schéma du Music Module:
Edité par igal Le 10/02/2013 à 12h16


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 10/02/2013 à 12h33
il faut voir aussi ce qui se passe a l'intérieur de la puce Y8950 et c'est aussi compliqué



je regarde , je dois avoir une doc en notre bonne langue française au fond d'un tiroir

car l'anglais ce n'est pas ma tasse de thé :tea


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 10/02/2013 à 16h45
C'est cette info que tu cherches?

Page 33 du Service manual du Music Module (P35 PDF), on trouve cette info:

Citation:
3-6. A-D/DA Conversion.

The built-in A-D/DA converter can be used for FM sounding and ADPCM voice analysis/synthesis. as
well as for A-D or DA conversion. Conversion rates range from a maximum sampling rate of 16khz to
a minimum sampling rate of 1.8Khz.
(1)A-D conversion
The MSX-AUDIO uses the DA converter in the sound generator for A-D conversion. The DA converter
performs conversion in a voltage range within Vcc/2 +ou- Vcc/4. The maximum voltage is 3 Vcc/4 (127).
The mid point is Vcc/2 (0), and the minimum voltage is Vcc/4 (-128). Converted data is expressed as 8-bit
two's complement data. (Successive approximation type conversion)
Auxilliary equipement, including the music output equipment, must be disconnecter from the DA converter
during A-D conversion. If not, problems may result -e.g: exessively loud sound output.
(2) DA conversion
The same DA converter is used for DA conversion (output voltage within Vcc/2 +ou-Vcc/4). Converted data
is expressed as 13-bit data with a 3-bit exponent part and a 10-bit virtual part. However, if necessary
to process the data expressed in 8 bits (in relation to A-D conversion), only vary the data of adress $15
and fix $16 and $17 data to enable processing in units of bytes.
Fin de Citation:

La traduction avec Reverso:
3-6. A-D/DA Conversion.

Le convertisseur A-D/DA incorporé peut être utilisé pour du sondage et l'analyse/synthèse de voix ADPCM. Aussi bien que pour A-D ou conversion DA. Des taux de conversion s'étendent d'un maximum échantillonnant le taux de 16khz à un minimum échantillonnant le taux de 1.8Khz.
(1) A-D conversion
Les utilisations MSX-AUDIO le convertisseur DA dans le générateur du son pour conversion A-D. Le convertisseur DA exécute la conversion dans une gamme de tension dans Vcc/2 +ou-Vcc/4. La tension maximale est 3 Vcc/4 (127).
Le milieu du point est Vcc/2 (0) et la tension minimale est Vcc/4 (-128). Des données converties sont exprimées comme les données de complément du two's de 8 bit. (L'approximation Successive tape la conversion)
Auxilliary equipement, y compris l'équipement de production de musique, doit être déconnecté du convertisseur DA pendant la conversion A-D. Sinon, les problèmes peuvent résulter - par exemple : exessively production forte du son LOUD (basses ???).
(2) DA conversion
Le même convertisseur DA est utilisé pour la conversion DA (la tension de sortie dans Vcc/2 +ou-Vcc/4). Des données converties sont exprimées comme des données de 13 morceaux(de bit) avec une partie de représentant(d'exposant) de 3 bit et une partie virtuelle de 10 bit. Cependant, si nécessaire pour traiter les données exprimées à 8 bits (par rapport à la conversion A-D), varient seulement les données d'adresse 15 $ et fixent 16 $ et des données de 17 $ pour permettre le traitement dans les unités d'octets.

@Jipe: La partie soulignée peut laisser penser que "OUI" le SON produit pendant le processus [Digital=>Analogique] peut subir une distorsion si un "Instrument" est connecté.
Etrangement, mes enregistrements ont bel et bien un effet LOUDNESS que je trouve exagéré.
Cela laisse penser que le DAC est utilisé simultanément dans les deux sens non ?






Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10358

Le 10/02/2013 à 16h52
dans la doc il est écrit que l'on peut utiliser conjointement les convertiseurs N/A et A/N en utlisant en sortie le registre 15H

il y a un exemple en machine
registre 17H / valeur 7
LD A,1AH
OUT (C0H),A 'registre lecture convertisseur A/N
IN A,(C1H)
PUSH AF
LD A,15H
OUT (C0H),A 'ecriture sur le convertisseur N/A
POP AF
OUT (C1H),A

je ferai un scan de cette doc



:noel
Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 11/02/2013 à 09h48
Service Manual :
Auxilliary equipement, including the music output equipment, must be disconnected from the DA converter during A-D conversion. If not, problems may result -e.g: exessively loud sound output


Traduction : Les équipement auxiliaires, y compris ceux qui s'occupent de la sortie du son, doivent être déconnecté du DAC pendant la conversion analogique - numérique. Si ce n'est pas le cas, des problèmes peuvent en résulter - par exemple : la sortie d'un son excessivement fort.



"Loud" c'est "Fort", mais ici rien à voir avec le loudness. Edité par Metalion Le 11/02/2013 à 09h49


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 12/02/2013 à 11h04
Après vérification, tu as raison. Loud est traduit par [Fort] et Louness par [Volume]

J'ai cru que l'effet obtenu avec le Loudness était une sorte d'amplification des basse principalement et des aigus.

J'ai donc fait le rapprochement entre Loud et Loudness un peu vite.

Merci de ton aide ;)


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 14/02/2013 à 13h50
Voici le dernier enregistrement que j'ai réalisé.

R41 remis à l'origine soit 10Kohms au lieu de 27Kohms.

J'ai modifié cette fois R17 à l'origine 22Kohms pour descendre à 1,5Kohms.

Le but étant de réduire le niveau d'amplification du groupe [MICRO et LINE] de sorte à permettre d'augmenter le niveau de la source sonore.

http://igalsirour.hautetfort.com/media/02/02/2685179474.MP3

En attendant de trouver une solution Software :D Edité par igal Le 14/02/2013 à 13h52


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie