Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

WAV player for BASIC...

Ryan Verner requested it, and I've been playing around

with it for a while, but it's now in usuable BETA form. You can

pick it up at my website below. It is currently in a usuable form

for both Qbasic and Turbo Basic, and it probably wouldn't take much

modification to work for other basics.

The library plays WAV files up to 65300 bytes long, 8-bit, mono

on all SB-compatable cards, at either 11025,22050, or 44100 Hz. speeds.

It's free, so if you're interested, just pick it up, it's under the

"Turbo Basic" section on my homepage.


P.S: If I get enough requests, I'll add unlimited size support and

continous play...


URL:http://acheronx.ml.org/home/

Comments

  • : Ryan Verner requested it, and I've been playing around

    : with it for a while, but it's now in usuable BETA form. You can

    : pick it up at my website below. It is currently in a usuable form

    : for both Qbasic and Turbo Basic, and it probably wouldn't take much

    : modification to work for other basics.

    : The library plays WAV files up to 65300 bytes long, 8-bit, mono

    : on all SB-compatable cards, at either 11025,22050, or 44100 Hz. speeds.

    : It's free, so if you're interested, just pick it up, it's under the

    : "Turbo Basic" section on my homepage.


    : P.S: If I get enough requests, I'll add unlimited size support and

    : continous play...


    Is this WAV player use DMA??? Because I want to play WAV file and I can still

    do other things at the same time.


  • Yes, it uses DMA, so after the couple of cycles it takes to

    execute the SB_Play function, you can do whatever you want to

    while the WAV is playing.






    URL:http://acheronx.ml.org/home/

  • : Yes, it uses DMA, so after the couple of cycles it takes to

    : execute the SB_Play function, you can do whatever you want to

    : while the WAV is playing.


    How about IRQ???? Because most of the game need to play multiple

    WAV file at the same time. And have you ever heard DMAplay 6.0???

    how is yours compare to DMAPlay 6.0??





  • No, I've never heard of DMAPlay6.0, if you could give me a link

    to it, I'd appreciate it. As for using the IRQ, I detect it but do not

    use it, as my routine automatically overlaps the sounds. This is, of

    course, provided they are actually long enough to make a difference...

    The main reason I coded this lib (I'm not a BASIC programmer, it's almost

    all in ASM) is that it was requested by someone who couldn't find a WAV

    player that played WAVs over 32000 bytes in length. My lib plays sound

    65300 byte files.

    As for continous play, I do that via interrupt hooks in the full Pascal

    version of this same library. To see an example of that, there is a demo

    using that version at the below link.

    As mentioned in the docs for it, I'll add unlimited file size support

    and background play if there's a demand for it. If there's already a product

    doing that for QBASIC/Turbo Basic, I really don't see the point in

    duplicating their work...


    URL:http://acheronx.ml.org/ukpub/demo.zip

  • I think you can download here. I think it's the first DMAPlay program ever made

    in QB. And it has different version. DMAPlay 6.0 is the latest version.


    http://www.ocf.berkeley.edu/~horie/project.html






  • I downloaded both DMAPlay 6 and another player called WavPlay, and

    compared them to BasPlay. Here's the results:
    BasPlay DMAPlay WavPlay

    DMA playing capability x x x

    IRQ required x x

    Supports older BASICs x

    Recording Options x x

    Maximum File Size 65300 none none

    Memory Buffer 65300 32000 7058

    File I/O ASM BASIC BASIC

    SB Interface ASM BASIC BASIC

    Port detect via hardware x

    Volume Adjust x

    Fixed memory segment x
    Note that playing for files over their buffer size is done

    via the slow BASIC file I/O, buffering whenever the info is

    need. DMAPlay claims it will run under GW-BASIC "with a few

    small changes..." I don't think that's actually true, as I

    don't remember GW-BASIC having OUT and INP.

    Anyway, that's my attempt at an unbiased review... If you

    have any comments, questions, just post or mail me at the

    above address.





    URL:http://acheronx.ml.org/home/

  • I've downloaded your BASpaly. Well, I don't know to run it or port it into QuickBasic.

    Could you tell me??? And the "tbst.exe"(compiled by Turnbobasic) file you included, can't

    run it. I can only hear static noise from my Sound Blaster PRO.


  • Well, it is listed as the beta version... ;)


    Currently, BasPlay suffers from a rather tricky bug, one

    which I spend the last 4 hours isolating, but haven't quite

    fixed yet. If you run in in the environment (i.e. QBASIC,

    Turbo Basic, QuickBasic 4.5..) it'll run fine. However, for

    some bizarre reason as an EXE it doesn't function.

    I've currently isolated it to the SBPlay function, and

    I'll post here as soon as I've irradicated the bug.




    URL:http://acheronx.ml.org/home/

  • Are you still working on your Basplay now??? If so how is it?? Or do you have a QB version??

    I just want to know.


  • Well... I have refined it a bit since the version posted on my web site...

    However, I haven't solved the vital problem of getting it to work since

    I last posted. I used the pure assembly code, simulated the BASIC code part

    of it, and assembled it... The damn thing worked like a charm...

    I'm really at the end of my rope here... If you want the code or

    know someone that does, I'll give it all to you, since I really don't think

    it's very useful in it's current form, and I just don't have the hours to

    play around with it.




    URL:http://acheronx.ml.org/home/

Sign In or Register to comment.