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 28/01/2013 à 22h49
Afin de compléter mon ambition de [Voir] et [Entendre] un Film complètement numérisé en temps réel sur MSX

Je cherche le moyen d'activer le Micro d'un périphérique compatible Msx-Audio comme le [Music Module] ou encore un véritable Msx-Audio comme le [Music Module Expander] avec le Kit de MsxPro.

J'ai téléchargé la documentation du Msx-Audio Basic ici => http://www.msx.org/news/software/en/msx-audio-basic-manual-scanned

En page 136, on y trouve ce programme [REC PCM TEST]


Voici le Code:
Code TEXT :
 
10 '
20 '
30 ' REC PCM TEST
40 '
50 '
60 CALL AUDIO (3,0)
70 CALL SET PCM (0,0,0,,32)
80 CALL BGM (0)
90 '
100 CLS
110 LOCATE 5,10
120 INPUT"abc";K$
130 '
140 CALL REC PCM (0)
150 CALL MK PCM (0)
160 ,
170 CLS
180 LOCATE 5,10
190 INPUT"xyz";K$
200 '
210 GOTO 100
 


@Popolon: Je sais pas si t'as un Music Module Expandé ou encore un véritable [Msx-Audio] de Panasonic pour m'aider sur ce coup?
L'entrée micro ne semble pas émulée dans BlueMsx :oups Edité par igal Le 03/03/2013 à 19h56


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5791

Le 28/01/2013 à 23h18
Et ca serait pas possible de mettre la ROM du MSX audio Basic du Panasonic dans une FlashRom afin de pouvoir l'utilisé avec un Music Module



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 29/01/2013 à 11h11
J'ai mis la main sur presque tout mon matos MSX.

J'ai donc fait un teste sur le Music Module Expandé avec le kit de FRS&MSXPRO.

Le Music Module répond bien à CALL AUDIO, mais toutes les autres commandes dans le listing donnent un SYNTAX ERROR.

Après réflexion, je me souviens avoir injecté la ROM qui doit être greffée sur le MoonSound (OPLL => OPL3/4) et non pas celle qui est normalement destinée au Music Module (OPLL=>OPL).

Faut déjà remédier à ça en mettant la bonne ROM ;)

La table à UV insole, le programmateur frétille et moi j'attends :fou

Au pire des cas, je remettrai l'horrible programme d'origine du Music Module et je ferai un essais avec :oups

On verra bien. :moue




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

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 217

Le 29/01/2013 à 11h59
igal :
Faut déjà remédier à ça en mettant la bonne ROM ;)


Va pas dire ça a FRS sur MRC, je sens que tu vas te faire jeter ;) Edité par popolon Le 29/01/2013 à 12h00
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 29/01/2013 à 13h43
J'ai remplacé la Rom OPL4 par la ROM OPL1.

Je sais pas vraiment si ca marche :heink

Toutes les commandes s'exécutent puisque le programme tourne en boucle en me demandant:

1) ABC? (j'écris [A] et [ENTRE]
2) quelques secondes passent....(je chante, j'fais le con lol au cas ou ça enregistre lol)
3) XYZ? (apparaît à l'écran) je fait [X] et [ENTRE]
4) instantanément, le programme reprend à l'étape 1)

Popolon...Euh tu sais lire le japonais?
A part un peu l'hébreu, quelques mots d'anglais et des insultes en Kabyle , je suis nul en langues étrangères :fou


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

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 217

Le 29/01/2013 à 15h51
igal :


1) ABC? (j'écris [A] et [ENTRE]



3) XYZ? (apparaît à l'écran) je fait [X] et [ENTRE]


C'est énorme :lol :D

Igal, si tu avais l'affichage du japonais, tu verrai que y'a pas marqué ABC ou XYZ...

1) Utilisez le micro

2) Jouez

avec un clavier musical pour reproduire le sample ;)


   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10327

Le 29/01/2013 à 15h55
le turbo-r est équipé d'un PCM

son utilisation sous basic "bloque" le MSX pendant l'enregistrement et la restitution


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 29/01/2013 à 20h11
On peut pas atteindre le Micro avec des OUT comme le VDP?

J'ai regardé le datasheet du Y8950 ici => http://www.datasheetarchive.com/Y8950-datasheet.html

Voici le Diagramme:


l'Adress Map:


Si je comprends bien, cela devrait tourner indépendamment (Sans bloquer le CPU :moue )


Le Pinout: (Des fois qu'il faut brancher le grille pain dessus :fou )


@Popolon: Que ce soit des carottes ou des choux, je aucune idée de ce qui est écrit lol Edité par igal Le 30/01/2013 à 08h53


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 30/01/2013 à 09h11
TurboSEB :
Et ca serait pas possible de mettre la ROM du MSX audio Basic du Panasonic dans une FlashRom afin de pouvoir l'utilisé avec un Music Module




En fait j'ai lu (sur FaqMsx je crois) récemment qu'on peut mettre n'importe quelle ROM en lieu et place de la ROM originale du Music Module, pourvu qu'elle fasse 32Ko.



Par contre, la ROM MSX Audio [FS-CA1 (1988)(Matsushita Electric Industrial)(JP)] fait 128Ko.



Dans le meilleur des cas, FRS a isolé le BASIC dans sa version 1.3 du MSX Audio pour Music Module mais elle pèse 48Ko.



Dans le cas d'une FlashRom, je sais pas du tout. Peut être même sur BlueMsx.


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 02/02/2013 à 12h24
Je pense avoir trouvé :top

Dans le Manuel de service du Music Module, une programme en BASIC permet de Tester/Diagnostiquer les pannes éventuelles.

Le Manuel se trouve ici => http://gomsx.net/hansotten/msxdocs/philipsnms12051160sm.pdf

Le teste No 6 Permet l'utilisation du Micro (Enregistrement et Ecoute) sous BASIC.

J'ai essayé d'extraire la partie qui m'intéresse.

Voici le Listing:

Code TEXT :
 
20 CLEAR 100,&HCFFF:DEFUSR=&HD002: GOSUB 2260
 
110 LOCATE 5,13: PRINT"6..Sample"
 
190 OUT &HC0,A: OUT &HC1,D: RETURN
 
1570 CLS: PRINT "Full Memory sampling test"
1580 LOCATE 5,5: PRINT"Press a key to record sample"
1590 IF INKEY$=""THEN1590
1600 LOCATE 5,7: PRINT"Recording now"
1610 REC=2700: RESTORE 1620
1620 DATA 19,00,04,FF,04,80,07,68
1630 DATA 08,00,09,00,0A,00,0B,FF
1640 DATA 0C,1F,0D,E1,0E,00,07,E8
1650 FOR N=1 TO 12
1660 READ A$: A=VAL ("&H"+A$)
1670 READ D$: D=VAL ("&H"+D$)
1680 GOSUB 190
1690 NEXT N
1700 FOR N=1 TO REC: NEXT
1710 A=7:D=&H68: GOSUB 190
1720 LOCATE 5,7: PRINT"Playing Now"
1730 RESTORE 1740
1740 DATA 19,08,04,FF,04,80,07,20
1750 DATA 08,00,09,00,0A,00,0B,FF
1760 DATA 0C,1F,10,EC,11,51,12,FF
1770 DATA 07,B0
1780 FOR N=1 TO 13
1790 READ A$:A=VAL("&H"+A$)
1800 READ D$:D=VAL("&H"+D$)
1810 GOSUB 190
1820 NEXT N
1830 FOR N=0 TO REC: NEXT
1840 LOCATE 5,7: PRINT"Repeating now"
1850 LOCATE 0,22: PRINT" Press any key to abort"
1860 IF INKEY$="" THEN 1860
1870 DATA 07,&HA1,07,&H20
1880 RESTORE 1870: READ A,D:GOSUB 190:READ A,D:GOSUB 190
1890 RETURN
 
2260 RESTORE 2310
2270 FOR P=&HD000 TO &HD026
2280 READ D$: POKE P,VAL ("&H"+D$)
2290 NEXT
2300 RETURN
2310 DATA 00,00,F3,21,00,40,DD,21
2320 DATA 00,00,E5,DD,E5,3E,02,CD
2330 DATA 0C,00,01,00,00,DD,E1,E1
2340 DATA 4F,DD,09,23,7C,FE,C0,20
2350 DATA E9,DD,22,00,D0,FB,C9
 


Je n'ai pas encore testé, mais déjà la satisfaction de voir que tout le monde pourra utiliser le code puisqu'il suffit d'un Music Module d'origine pour en profiter.

J'ai un doute sur ce qui suit:

Plusieurs ligne différentes X, Y et Z renvoient par un GOSUB vers un seul et même RETURN.

Il faut pas autant de GOSUB que de RETURN pour ne pas bugger :hum

Prochaine étape => teste directement sur BlueMSX ;)
On verra bien si [MICRO] ou [EXT MICRO] sont émulés :moue

Merci de vôtre aide.

Edit: Un autre test semble intéressant puisqu'il s'agit du No 3 => D/A/C d'autant qu'il est très simple à mettre en oeuvre et fait appel à des OUT (10).
Peut être une autre piste ;) Edité par igal Le 02/02/2013 à 12h31


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: 10327

Le 02/02/2013 à 14h51
le principe même du GOSUB c'est de faire appel a un sous programme

si il fallait autant de GOSUB que de RETURN cette instruction ne servirai a rien

en fait imaginons une routine d'affichage du genre

100 LOCATE X,Y:PRINT"*":RETURN

l'appel peut se faire ainsi

20 X=12:Y=10:GOSUB 100

50 X=14:Y=8:GOSUB 100

on voit la l'interêt d'avoir un seul sous programme a écrire une seule fois et avec plusieurs appel

bien entendu le sous programme peut être plus compliqué


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 02/02/2013 à 18h36
Ok pour ces précisions ;)

J'ai testé le programme sur BlueMSX.

Pour rappel:
Il est très simple de coller un LISTING basic dans le MSX en procédant comme suit:

1) Je créer un fichier .TXT quelconque sur PC.
2) J'y copie/colle le LISTING visible sur le forum.
(éviter les caractères particuliers, accents sur les lettres etc.)
3) Je sauvegarde avec l'appellation FICHIER.ASC
4) Je dépose ce fichier dans une disquette.
5) le fichier est directement exploitable sous Basic MSX.

Pour exporter un LISTING MSX vers le PC il suffit de faire:
1) Je charge le fichier de mon choix => LOAD"FICHIER.BAS
2) je le sauvegarde de la façon suivante => SAVE"FICHIER.ASC",a
3) Le FICHIER.ASC est dorénavant exploitable sur PC avec Wordpad ou autre...

Le programme.

En l'état, le programme semble fonctionner parfaitement.
Juste un petit soucis de redondance lorsque le programme se ré-exécute.

Pour arranger cela, il suffit d'ajouter la commande suivante:
1885 GOTO 0

Forcément, pour faciliter l'utilisation, j'ai ajouté cette ligne Zéro:
0 'SAVE"MICRO.ASC",a

Au final, voici le listing prêt:
Code TEXT :
 
0   'SAVE"MICRO.ASC",a
5 WIDTH 80: COLOR 1,15
20 CLEAR 100,&HCFFF:DEFUSR=&HD002: GOSUB 2260
110 LOCATE 5,13: PRINT"6..Sample"
115 GOTO 1570
190 OUT &HC0,A: OUT &HC1,D: RETURN 
1570 CLS: PRINT "Full Memory sampling test"
1580 LOCATE 5,5: PRINT"Press a key to record sample"
1590 IF INKEY$=""THEN1590
1600 LOCATE 5,7: PRINT"Recording now"
1610 REC=2700: RESTORE 1620
1620 DATA 19,00,04,FF,04,80,07,68
1630 DATA 08,00,09,00,0A,00,0B,FF
1640 DATA 0C,1F,0D,E1,0E,00,07,E8
1650 FOR N=1 TO 12
1660 READ A$: A=VAL ("&H"+A$)
1670 READ D$: D=VAL ("&H"+D$)
1680 GOSUB 190
1690 NEXT N
1700 FOR N=1 TO REC: NEXT
1710 A=7:D=&H68: GOSUB 190
1720 LOCATE 5,7: PRINT"Playing Now.."
1730 RESTORE 1740
1740 DATA 19,08,04,FF,04,80,07,20
1750 DATA 08,00,09,00,0A,00,0B,FF
1760 DATA 0C,1F,10,EC,11,51,12,FF
1770 DATA 07,B0
1780 FOR N=1 TO 13
1790 READ A$:A=VAL("&H"+A$)
1800 READ D$:D=VAL("&H"+D$)
1810 GOSUB 190
1820 NEXT N
1830 FOR N=0 TO REC: NEXT
1840 LOCATE 5,7: PRINT"Repeating now"
1850 LOCATE 0,22: PRINT" Press any key to abort"
1860 IF INKEY$="" THEN 1860
1870 DATA 07,&HA1,07,&H20
1880 RESTORE 1870: READ A,D:GOSUB 190:READ A,D:GOSUB 190
1885 GOTO 0
1890 RETURN
2260 RESTORE 2310
2270 FOR P=&HD000 TO &HD026
2280 READ D$: POKE P,VAL ("&H"+D$)
2290 NEXT
2300 RETURN
2310 DATA 00,00,F3,21,00,40,DD,21
2320 DATA 00,00,E5,DD,E5,3E,02,CD
2330 DATA 0C,00,01,00,00,DD,E1,E1
2340 DATA 4F,DD,09,23,7C,FE,C0,20
2350 DATA E9,DD,22,00,D0,FB,C9



Voici la Disquette:
MICRO.zip

Une dernière chose. BleuMsx ne semble pas émuler le Micro ou encore l'Entrée Micro du Music Module.
Cependant, le programme semble tourner correctement.

En attendant de tester :moue


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 03/02/2013 à 14h20
Le programme fonctionne parfaitement.

Il permet de:

1) Numériser 4 secondes de Sons Mono en 16Khz.
2) Ecouter les 4 secondes en boucle infini.
3) Stopper la lecture et recommencer une nouvelle numérisation (étape1)

Ces trois étapes demandent à être scrupuleusement localisées dans le listing de sorte à pouvoir l'adapter en fonction des besoins.

Je me souviens que dans le Music Box du Music Module, il est possible de parler dans le micro indéfiniment avec une voix plus ou moins déformée. Une sorte d'effet spécial en continu :gne

Par contre, je me rappel plus vraiment si c'était en continu ou alors juste par tranche de quelques secondes!

Faudrait que je mette la main sur la ROM du Music Module pour tester.

Voici un test rapide avec une Bande Son de 4 secondes Mono tournant en boucle en tache de fond.
Parallèlement, j'ai lancé un vidéo en superimpose avec effets spéciaux de sorte à forcer la numérisation à la volée.
Cerise sur le gâteau, il est possible de sauvegarder l'image sans que l'audio ne soit affecté :top


Le tout fonctionne parfaitement.

@TurboSeb: Il me semble que tu cherchait un moyen pour jouer des bruitages de type "Samples" sous Basic.
Un bon début pour ça :top










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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5791

Le 03/02/2013 à 15h19
Tres interessant :top
donc le sample a été enregistré dans la memoire 32ko du musique module via l'entrée Line ou le micro , mais est'il possible d'enregistré en fichier ce sample et de le ReLoader ensuite afin de le lire a la volée , et si possible sous Basic :oups:D Edité par TurboSEB Le 03/02/2013 à 15h19



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 03/02/2013 à 15h38
Yes ;)

J'ai fait exprès de Charger et Sauver des fichiers pendant que ça tournait en boucle et y a pas eu un seul accro.

La lecture se fait bien en continue.

Par contre, il faut comprendre/interpréter le programme correctement pour savoir ce qu'il faut SAVE et aussi comment le Sauver et Charger.

Voila une question pour des champions :oups
(moa à part faire n'importe quoi jusqu'à ce que ça marche, je sais pas du tout désolé :oups )

Edit: Je sais pas si je l'ai dit mais BlueMSX n'émule pas le Micro du Music Module.
Il est donc pas possible de tester le bon fonctionnement du programme sur ému. Edité par igal Le 03/02/2013 à 15h43


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