Schrijver
| Moondblaster help
|
TheKid msx friend Berichten: 9 | Geplaatst: 05 November 2007, 08:57   |
Hello,
I'm experimenting with moonblaster. I finally figured out how to use wav samples in my moonsound music, but I have a few questions which I hope someone can help me with.
1) How can I fade the music. I know how to use _MBFADE in basic, but I want to let the song fade at the end. (say pattern 30 or so).
2) As I'm making a dart game, I want to use samples like "180", "let's play darts", "game on" ect. I made one wavekit with these samples in it, but how can I use them in my basic listing. Is there a way to start the song at a certain position ? something like _mbplay(P5) , where the songs starts with pattern 5. I read something about status bytes, but I can't find in the documentation how to use them.
Now I made several mwm files, using the different samples in the wavekit, but that also isn't the solution, because now I have to load them everytime in my listing.
In short, HEELLLPPP.
THanks a lot,
The Kid.
www.deltasoft.cjb.net
|
|
yum msx addict Berichten: 405 | Geplaatst: 05 November 2007, 10:07   |
1) In Moonblaster, there is no command for an autofade. The only way to achieve such an affect is by doing it by hand. If you want to do the fade with the _MBFADE command in basic, you can add a timerbyte at, say pattern 30, as you suggested.
2) Dunno. I only compose with Moonblaster. But I am sure that Arjan Bakker knows something about that.
|
|
TheKid msx friend Berichten: 9 | Geplaatst: 05 November 2007, 12:04   |
Thanks yum, but with the timebyte you mean the S function as mentioned in the manual. But how can I find this byte in basic. Is there a "if _MBstatusbyte=1 then do a fade ".
|
|
yum msx addict Berichten: 405 | Geplaatst: 05 November 2007, 12:34   |
I'm no programmer but I am sure this info can be obtained somewhere on the net or on this forum. I wish you good luck in your search and if you find out something, share it. I may be having the same problem in a while.
|
|
wolf_
 msx legend Berichten: 4655 | Geplaatst: 05 November 2007, 15:43   |
Hey, might that be that darts game I saw in Bussum a month ago, in that big wooden piece o' furniture? Looked interesting already. From your post I assume you're talking about the Moonsound? (e.g. "wavekit", and the fact that you're about to use more samples than may fit an MSX-AUDIO) I've thought about stuffing an optimized set o' darts samples for a while, but never got to it. In the ideal case you want all the available numbers, but that's not going to fit. How much SRAM are you about to use? I was once thinking about splitting numbers into groups, like 147 would be a "hundred"-sample, a "forty"-sample and a "seven" sample played after each other on 3 channels. It'd still require quite a lot of samples tho.
Quickly counted: 28 for the numbers 1..180, "no score" (29), "blahblah requires:" (30) etc. with the rest added, say 40 samples. Might be very doable.
|
|
TheKid msx friend Berichten: 9 | Geplaatst: 05 November 2007, 16:30   |
Hi Wolf,
Yes , it's that game you saw in Bussum. I'm not a composer, but found a crummy pc midi tracker. With a lot adjustments I used that info in the moonsound (moonblaster). If you can remember, that music was already available at the bussum version. Now I found 5 wavs which I put into one wavekit file of 123 kb. Unfortunately I encountered the problems as discribed above. How can I address them seperately in my basic listings.
Dutch : http://www.xs4all.nl/~remymsx2/html/previews04_n.html
English : http://www.xs4all.nl/~remymsx2/html/previews04_e.html
|
|
MeitsNearDark msx professional Berichten: 702 | Geplaatst: 05 November 2007, 18:51   |
If you're not going to use samples for every possible score, it's still doable to use just seperate song-files for all the scores...
Use the _mbbank command and load all song-files in one batch and play them by changing mbbank each time you want to play a song-file for the score...
That's how I would do it with my totally not mentionable program skills  |
|
DemonSeed msx professional Berichten: 914 | Geplaatst: 05 November 2007, 19:24   |
In case you're using the BASIC.BIN replayer:
PEEK (&HDA06) = Step number
PEEK (&HDA05) = Position number
PEEK (&HDA01) = 255 value means playing, 0 means stopped
I realize this doesn't completely answer your question, but it might help you out a bit.
|
|
AuroraMSX
 msx master Berichten: 1228 | Geplaatst: 05 November 2007, 22:00   |
Quote:
| like 147 would be a "hundred"-sample, a "forty"-sample and a "seven" sample played after each other on 3 channels.
|
<nitpick> One hundred and forty seven</nitpick>
Quote:
| In case you're using the BASIC.BIN replayer:
PEEK (&HDA06) = Step number
PEEK (&HDA05) = Position number
PEEK (&HDA01) = 255 value means playing, 0 means stopped
I realize this doesn't completely answer your question, but it might help you out a bit.
|
Well, maybe it does. You could try creating an MWM with a rather slow speed and at least one empty pattern at the beginning (to give you some time at startup), and set your samples at separate patterns in the rest of the song. Then pause the music (there's a CALL for that: _MBPause or something), poke the number of the position of the sample you want to play in the address and continue song playing (_MBCONT ?). So, like this:
_MBPLAY
_MBPAUSE
POKE &HDA06,0: POKE &HDA05,5 ' we want to play the sample in pattern 5
_MBCONT
That could work.
|
|
msd msx professional Berichten: 607 | Geplaatst: 05 November 2007, 23:10   |
Or leave some channels open.. and write to the opl4 itself.
|
|
TheKid msx friend Berichten: 9 | Geplaatst: 06 November 2007, 08:59   |
Thanks everyone for your help. It's really a shame that the moonblaster manual doesn't shead any light on this topic. You don't want to know how long it took me to figure out how to load and use sampels in moonblaster. Thanks to BiFi I learned another way to do it. I now used the _MBAddr(&H8000) method. So my listing looks something like this :
10 _mbaddr(&H8000):_mwmload("effect1.mwm" 
20 _mbaddr(&H8200):_mwmload("effect2.mwm" 
30 _mbaddr(&H8400):_mwmload("effect3.mwm"
and later in the listing I can play the samples by setting the right address, like :
500 _mbaddr(&H8000):_mbplay
600 _mbaddr(&H8200):_mbplay
So, in this way you can make a wavekit filled with samples and use them randomly in any listing. Hopefully this topic helps other moonblaster rookies like me
Once again, thanks everyone for the help. |
|
[D-Tail]
 msx guru Berichten: 2994 | Geplaatst: 06 November 2007, 23:54   |
TheKid: have you ever considered giving Konamiman's NestorBASIC a try? I'm not completely sure one can start playing at arbitrary positions/steps, but I guess you'd come quite far. And the main advantage is that it can all be accelerated - _MBADDR and stuff can't be compiled by NBASIC. |
|
|
|
|