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
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:
@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 Edité par igal Le 03/03/2013 à 19h56
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 Edité par igal Le 03/03/2013 à 19h56
TurboSEB
Membre non connecté
Conseiller Municipal
igal
Membre non connecté
Conseiller Municipal
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
Au pire des cas, je remettrai l'horrible programme d'origine du Music Module et je ferai un essais avec
On verra bien.
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
Au pire des cas, je remettrai l'horrible programme d'origine du Music Module et je ferai un essais avec
On verra bien.
popolon
Membre non connecté
Villageois
igal
Membre non connecté
Conseiller Municipal
J'ai remplacé la Rom OPL4 par la ROM OPL1.
Je sais pas vraiment si ca marche
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
Je sais pas vraiment si ca marche
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
popolon
Membre non connecté
Villageois
igal :
1) ABC? (j'écris [A] et [ENTRE]
3) XYZ? (apparaît à l'écran) je fait [X] et [ENTRE]
1) ABC? (j'écris [A] et [ENTRE]
3) XYZ? (apparaît à l'écran) je fait [X] et [ENTRE]
C'est énorme
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
tout, tout, tout, vous saurez tout sur la zizi...que
igal
Membre non connecté
Conseiller Municipal
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 )
Le Pinout: (Des fois qu'il faut brancher le grille pain dessus )
@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
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 )
Le Pinout: (Des fois qu'il faut brancher le grille pain dessus )
@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
igal
Membre non connecté
Conseiller Municipal
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.
igal
Membre non connecté
Conseiller Municipal
Je pense avoir trouvé
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:
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
Prochaine étape => teste directement sur BlueMSX
On verra bien si [MICRO] ou [EXT MICRO] sont émulés
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
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
Prochaine étape => teste directement sur BlueMSX
On verra bien si [MICRO] ou [EXT MICRO] sont émulés
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
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é
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é
igal
Membre non connecté
Conseiller Municipal
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:
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
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
igal
Membre non connecté
Conseiller Municipal
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
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é
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
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
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é
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
TurboSEB
Membre non connecté
Conseiller Municipal
Tres interessant
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 Edité par TurboSEB Le 03/02/2013 à 15h19
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 Edité par TurboSEB Le 03/02/2013 à 15h19
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
igal
Membre non connecté
Conseiller Municipal
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
(moa à part faire n'importe quoi jusqu'à ce que ça marche, je sais pas du tout désolé )
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
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
(moa à part faire n'importe quoi jusqu'à ce que ça marche, je sais pas du tout désolé )
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
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie