#27 - Dreamwriter - Wed Jan 01, 2003 5:02 am
Pretty snazzy, eh?
#29 - marschild - Wed Jan 01, 2003 9:01 am
Indeed, the choice for all amatuers who want a fast and simple sound implementation.
#110 - wintermute - Fri Jan 03, 2003 2:32 am
marschild wrote: |
Indeed, the choice for all amatuers who want a fast and simple sound implementation. |
until you get someone interested in your game and have to pay for use of the libraries.
It's not hard, there are umpteen implementations of sound playing code around that don't require much to port to the GBA.
Incidentally I think they have a cheek trying to charge for source that can be found with a little digging around on the net.
#138 - tom - Fri Jan 03, 2003 9:22 pm
wintermute wrote: |
Incidentally I think they have a cheek trying to charge for source that can be found with a little digging around on the net. |
You have to dig around on the net for a long time until you find something as good as krawall =)
Besides, the commercial version is with $190 still quite cheap.
#145 - Arjan - Fri Jan 03, 2003 10:54 pm
too bad krawall uses over 8k of IWRAM.....
_________________
dus.... http://www.bombaman.net
#751 - 0x04000000 - Fri Jan 10, 2003 5:59 am
What would it take to be able to use krawall in assembly programming?
_________________
mov r0,#Thought
mov r1,#Reality
str r0,[r1]
#764 - waynek - Fri Jan 10, 2003 1:31 pm
Actually I found Codewaves player the easiest to integrate w/ ASM.
Unfortunately it uses even more internal ram than Krawall or the others,
so while it may be the easiest, it might not suit your purposes...
Takes from $03000000-$03003a00 or thereabouts... ouch.
#1004 - Quirky - Mon Jan 13, 2003 9:20 am
Has anyone used Krawall and bog standard directsound in the same project? I have ended up using the BeLogic direct sound code for FX and krawall for music (although not at the same time - just intro music) because krawall was eating a bit too much CPU in-game to make it viable for FX.
Problem I have now is how to switch krawall back on after using my own directsound - it always seems to run with pops, despite having free run on its timer1 interupt and not being bothered by anything else processor intensive. I guess it isn't "safe" to call kragInit() more than once, but there's no other way to reinitialise krawall after altering the sound registers "by hand" :(
Any ideas?
#1054 - tepples - Tue Jan 14, 2003 5:42 am
Quirky wrote: |
I have ended up using the BeLogic direct sound code for FX and krawall for music (although not at the same time - just intro music) because krawall was eating a bit too much CPU in-game to make it viable for FX. |
How much CPU time do you consider "too much"? I would like to know because I'm currently working on my own sound system that takes about 36 scanlines (16% CPU) for 18 kHz mono mixing of 8 channels with arbitrary pitch, volume, and looping, to be released under the business-friendly Mozilla license.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#1066 - Quirky - Tue Jan 14, 2003 9:26 am
"Too much" in my case meant that the game ran at a much slower frame rate than I would have liked. I can't give you precise % figures, just this anecdotal evidence. Don't take this as an accurate review of krawall though, it could well be that I have linked this all in poorly at some point and something I should have placed in IWRAM is not there or I've made some other cock up (that's why I asked for help ;)).
FWIW I'm using devkitadvance and the krawall modified crt0.s. My interupt table has an entry in the vblank (which increments a frame counter and calls kramWorker) and one in timer1 (kradInterrupt) and timer 0 (the Belogic timer 0 sound update.)
Normally my game runs at a fixed 12fps (i.e. when there isn't shit loads happening). With krawall playing a complex mod this can drop as low as 4fps. That means that if my code alone takes 4 vblanks to run a frame, then with krawall it takes up to 14 vblanks. The average is around 8 fps (6 or 7 vblanks), which for the intro part I use the music in is acceptable to me.
The part of the game without music runs at the same uneven frame rate with krawall turned on. Without it, but with the Belogic sound effects, it runs a steady 12fps. It seems strange, because krawall was just in "tick over" mode. No music playing at all.
The docs say that in this mode, the worker and interupt functions should return straight away, but my experience was that they appeared to be taking almost an equal amount of CPU as when a mod was playing. That's the reason why in the end I went for a half and half sound system - but it has this annoying "clicking" bug after I restart krawall.
#1134 - Arjan - Tue Jan 14, 2003 10:05 pm
tepples wrote: |
How much CPU time do you consider "too much"? I would like to know because I'm currently working on my own sound system that takes about 36 scanlines (16% CPU) for 18 kHz mono mixing of 8 channels with arbitrary pitch, volume, and looping, to be released under the business-friendly Mozilla license. |
It depends on the game. There are several commercial sound engines available, and they all have different characteristics. Some are fast, but use lots of IWRAM. Some are slow, but use little IWRAM. You could get away with a slow engine in simple puzzle games, while action-heavy games need very fast engines (or just less simultaniously played samples).
Anyway, for me, 16% for 18 kHz mono mixing of 8 channels would not be good enough for me (for stereo it would be a cool figure though). But, that shouldn't stop you from developing your own sound system. Most people don't have the knowledge (or time, patience, need) to create one themselves and use a free system.
_________________
dus.... http://www.bombaman.net
#1277 - Quirky - Thu Jan 16, 2003 8:39 am
OK, I need a smack round the head :o) I found and fixed my frame rate problem: Multiple interrupts and some silly assumptions. Still have the clicking on the second time through...
I have a frame counter on the vblank interupt which ticks up one every frame. Then in my "update screen" routine I check that the frame rate is what I want - i.e. that enough frames have ticked past. If so, I update the screen bank. If not, I vblank wait until they have.
Problem is that I effectively have 2 krawall functions on interrupts - the official interrupt one on timer 1 and the "worker" function in the vblank interrupt. If the vblank one takes longer than 1 vblank - for example if the timer 1 interrupt is called in the middle of it - then I "lose" a vblank frame. Of course I don't really lose an entire frame, just that I've overlapped the end of the vblank.
As my game logic code comes after the krawall stuff, I could use the rest of that frame to do my calculations and I would hardly take any drop in frame rate.
My workaround has been to add a frame tick just before I call the worker function in the vblank - it doesn't always need it, but most of the time it does. And now rather than having a stuttering frame rate in the intro, I have a silky smooth one. Looks like krawall could well be all it says - the only problem is I still can't use this approach "in game" because my frame rate isn't as fixed as I'd like :( So if anyone figures out why calling kragInit () twice causes sound popping, that'd be a great help.
#1339 - goobervision - Thu Jan 16, 2003 9:06 pm
Seeing as this thread is about krawall, I'd like to ask a question or two...
Can sound effects can be played with the freeware version (as included in the HAM SDK)?
What about when a MOD is playing?
#3187 - TrisOver - Wed Feb 19, 2003 3:08 pm
I have juste tried the free version, and it's very simple to play SFX: you just have to put your SFX as an Instrument in your mod, and call a playsfx(instrument_number) function to play it. then sound is mixed like others instruments. The free version work only with S3M (?), and I will try to convert simple XM mods to S3M with Impulse Tracker (cause i'm happy with modplug tracker).
_________________
TrisOver
#3526 - fl0w - Wed Feb 26, 2003 5:28 pm
Hello,
visit http://maso.r0x.free.fr
music+fx at the same time...
_________________
--
fl0w