La Place des Développeurs Jouer de la musique en arrière plan en Basic ?
ericb59
Membre non connecté
Conseiller Municipal
Reprise du message précédent
ton player Musica à l'air cool, il est tout simple, c'est bien, par contre quand je l'intègre dans mon jeu, ca fait faire des erreurs !le basic me sort des erreur de style "return without Gosub " !? alors que tout est ok j'ai vérifié !!
et quand je veux refaire "run"
il me sort des "illegal function call" sur des lignes tout se qu'il y a de plus basique !!
Bref ca patine dans le yaourt !
ericb59
Membre non connecté
Conseiller Municipal
Bon... et bien ... De la musique en backgroud en basic c'est la vraie galère !
Et faire des effets sonores pareil !!
Est-ce que quelqu'un peut me dire à quoi sert la commande call bgm(1) ?
Puisque quand on veut envoyer plus de quelques notes à jouer ça rend pas la main aussitôt !!
C'est un truc qui marche pas ou quoi ?
Et faire des effets sonores pareil !!
Est-ce que quelqu'un peut me dire à quoi sert la commande call bgm(1) ?
Puisque quand on veut envoyer plus de quelques notes à jouer ça rend pas la main aussitôt !!
C'est un truc qui marche pas ou quoi ?
ericb59
Membre non connecté
Conseiller Municipal
c'est spécifique au MSX Music, c'est dans la doc du FMPAC
C'est censé activer la musique FM en background, mais ca ne fonctionne pas... Dès qu'il a plus de 7-8 notes ça rends pas la main aussitôt... alors avec une mélodie ....pffff
C'est censé activer la musique FM en background, mais ca ne fonctionne pas... Dès qu'il a plus de 7-8 notes ça rends pas la main aussitôt... alors avec une mélodie ....pffff
ericb59
Membre non connecté
Conseiller Municipal
non justement je n ai pas d exemple probant de l utilisation de cette commande !
j ai récupéré des prog basic de musique fm, quelques un l utilisent , mais ca ne permet pas pour autant de faire autre chose pendant qu il y a une commande "play #2, .... " qui joue !
j ai essayé des replayer de bgm , ca fonctionne sauf qu a chaque fois j ai des bug dans mon jeu, j ai l impression que le fait de charger unplayer plus un bgm, il se melange les pinceaux avec le programme basic...
j ai récupéré des prog basic de musique fm, quelques un l utilisent , mais ca ne permet pas pour autant de faire autre chose pendant qu il y a une commande "play #2, .... " qui joue !
j ai essayé des replayer de bgm , ca fonctionne sauf qu a chaque fois j ai des bug dans mon jeu, j ai l impression que le fait de charger unplayer plus un bgm, il se melange les pinceaux avec le programme basic...
TurboSEB
Membre non connecté
Conseiller Municipal
j'y connais pas grand chose , mais en placant la musique a un endroit precis de la memoire , ca doit arranger les choses , pour evité les conflicts
genre Bload''music.bin'',&Hxxxx,r
Je ne sais plus si c'est possible , ou avec un poke ou autre , c'est tres loin tout ca faudrait regarder sur un bouquin que je n'ai pas sous la main Edité par TurboSEB Le 28/06/2012 à 21h37
genre Bload''music.bin'',&Hxxxx,r
Je ne sais plus si c'est possible , ou avec un poke ou autre , c'est tres loin tout ca faudrait regarder sur un bouquin que je n'ai pas sous la main Edité par TurboSEB Le 28/06/2012 à 21h37
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
ericb59 :
j ai essayé des replayer de bgm , ca fonctionne sauf qu a chaque fois j ai des bug dans mon jeu, j ai l impression que le fait de charger unplayer plus un bgm, il se melange les pinceaux avec le programme basic...
C'est probablement lié au fait que l'espace mémoire utilisé par le BASIC (et la gestion de la pile et des variables) est en conflit avec ton replayer.
Tu dois utiliser la commande CLEAR pour délimiter l'espace utilisé par le BASIC.
Par exemple :
Code :
CLEAR 200,&hC000
va interdire au BASIC d'utiliser l'espace au delà de &hC000 et, accessoirement, réserver 200 octets aux variables texte.
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)
ericb59
Membre non connecté
Conseiller Municipal
@metalion ; oui j'ai déjà fait ça... mais ça bug toujours...
Mon programme fait environs 8ko de basic pour l'instant ; c'est quand même pas beaucoup...
Mon programme fait environs 8ko de basic pour l'instant ; c'est quand même pas beaucoup...
j'ai un jeu japonais en basic qui joue de la musique en ariére plan
ça marche même aprés un CTRL / STOP
c'est basé sur le détournement du HOOK &HFD9F avec un routine en LM bien sur
le seul probléme est la façon dont les notes sont codées , dur de mettre sa propre musique sans fausse note
je l'envoi aussi ce soir
ça marche même aprés un CTRL / STOP
c'est basé sur le détournement du HOOK &HFD9F avec un routine en LM bien sur
le seul probléme est la façon dont les notes sont codées , dur de mettre sa propre musique sans fausse note
je l'envoi aussi ce soir
Eric,
La solution la plus simple en BASIC reste quand même l'utilisation de la commande PLAY.
Bon, d'accord, cela ne te permet que d'utiliser le PSG ...
Mais une fois que tu as lancé les phrases musicales, tout se passe en arrière plan automatiquement !
Le BASIC gère tout seul la mise en queue et l'exécution musicale en arrière plan.
La solution la plus simple en BASIC reste quand même l'utilisation de la commande PLAY.
Bon, d'accord, cela ne te permet que d'utiliser le PSG ...
Mais une fois que tu as lancé les phrases musicales, tout se passe en arrière plan automatiquement !
Le BASIC gère tout seul la mise en queue et l'exécution musicale en arrière plan.
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)
popolon
Membre non connecté
Villageois
Metalion :
La solution la plus simple en BASIC reste quand même l'utilisation de la commande PLAY.
Bon, d'accord, cela ne te permet que d'utiliser le PSG ...
La solution la plus simple en BASIC reste quand même l'utilisation de la commande PLAY.
Bon, d'accord, cela ne te permet que d'utiliser le PSG ...
en basic :
La commande PLAY permet d'utiliser PSG, MSX Music, MSX Audio et même MSX Midi
La commande CALL PLAY permet d'utiliser le SFG avec la cartouche Yamaha FM Music Macro
La commande CALL PCMPLAY permet d'utiliser le PCM du turboR
tout, tout, tout, vous saurez tout sur la zizi...que
MSXlegend
Membre non connecté
Conseiller Municipal
Alors voici le programme que j'utilise pour le moment
Mon player basic: (tu remplace song.bgm par ta musique au format BGM) FM et/ou psg
Pour arreter la musique tu tape "A=USR2(0)" ou CONT et tu valide (apres le end, le programme redemarre à la ligne suivante soit 110)
Si tu n'arrete pas ta musique, plantage si tu fais RUN
on en a deja parlé ici http://www.msxvillage.fr/forum/topic.php?quote=7385&id=458&pt=4
J'ai aussi un programme sous basic pour jouer du psg (PLY) mais je n'ai pas de beaucoup de musique
Le probleme, c'est qu'il faut faire un crtl+stop pour sortir. On se rend compte que la musique continu sous basic.
Personnellement, j'ai laissé ce programme de coté (a cause du ctrl+stop) Edité par MSXlegend Le 29/06/2012 à 13h55
Mon player basic: (tu remplace song.bgm par ta musique au format BGM) FM et/ou psg
Code :
10 CLEAR200,&h9000: DEFINT A-Z:BLOAD"BGM.BIN"
20 DEFUSR=&HCE00: DEFUSR1=&HCE03: DEFUSR2=&HCE06: DEFUSR3=&HCE09
30 DIM A(1):A$="song.bgm"
40 OPEN A$ FORFOUTPUTAS1:B$=INPUT$(1,1):B$=INPUT$(1,1):C$=INPUT$(1,1):CLOSE
50 BLOAD A$
60 B=(ASC(B$)+ASC(C$)*256)-65536!
70 IF B=0 THEN BLOAD A$,&H9000:B=&H9000
80 A(0)=0:A(1)=B
90 USR(0)+USR1(VARPTR(A(0))): rem (Démarre la musique)
100 END
110 A=USR2(0): rem (stop la musique en cour)
Pour arreter la musique tu tape "A=USR2(0)" ou CONT et tu valide (apres le end, le programme redemarre à la ligne suivante soit 110)
Si tu n'arrete pas ta musique, plantage si tu fais RUN
on en a deja parlé ici http://www.msxvillage.fr/forum/topic.php?quote=7385&id=458&pt=4
J'ai aussi un programme sous basic pour jouer du psg (PLY) mais je n'ai pas de beaucoup de musique
Code :
20 BLOAD"SONY.PLY"
30 DEFUSR=&HDC00
40 A=USR(0)
50 IF PEEK(&HFD9F)=&HC3 THEN 50
60 A=USR(1)
Le probleme, c'est qu'il faut faire un crtl+stop pour sortir. On se rend compte que la musique continu sous basic.
Personnellement, j'ai laissé ce programme de coté (a cause du ctrl+stop) Edité par MSXlegend Le 29/06/2012 à 13h55
popolon
Membre non connecté
Villageois
c'est le loader musica que j'ai posté quelques posts plus haut
sans oublier la SCC Edité par popolon Le 29/06/2012 à 15h32
MSXlegend :
Mon player basic: (tu remplace song.bgm par ta musique au format BGM) FM et/ou psg
sans oublier la SCC Edité par popolon Le 29/06/2012 à 15h32
tout, tout, tout, vous saurez tout sur la zizi...que
ericb59
Membre non connecté
Conseiller Municipal
@Metalion, fait l'essai avec un MSX2+ ou TR,
Call musique
play #2,"ABABABABABABABABABABA"
tu verra qu'il ne te rends pas la main aussitôt
Si tu ajoute CALL BGM(1) ce qui est censé activer la musique en background... cq fait pad mieux !
@MSXLEgend; oui j'ai essayé ta méthode, avec bgm:bin; ça fonctionne, mqis mon jeu se met à bugger de partout !
Je n'arrive pas à faire en sorte que la musique et le player ne se chevauchent pas avec la couche basic !
Call musique
play #2,"ABABABABABABABABABABA"
tu verra qu'il ne te rends pas la main aussitôt
Si tu ajoute CALL BGM(1) ce qui est censé activer la musique en background... cq fait pad mieux !
@MSXLEgend; oui j'ai essayé ta méthode, avec bgm:bin; ça fonctionne, mqis mon jeu se met à bugger de partout !
Je n'arrive pas à faire en sorte que la musique et le player ne se chevauchent pas avec la couche basic !
ericb59
Membre non connecté
Conseiller Municipal
@popolon : je ne sais pas si c'est exactement le même en tout cas ça y ressemble !
Mais que ce soit l'un ou l'autre font bugger mon jeu en basic... Alors sauf à trouver un moyen de le charger là où ça ne trouble pas mon programme... ça ne me convient pas...
Mais que ce soit l'un ou l'autre font bugger mon jeu en basic... Alors sauf à trouver un moyen de le charger là où ça ne trouble pas mon programme... ça ne me convient pas...
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie