1. Euphoria Sound System?
I am in the process of writing a new 16-bit wave + midi Euphoria sound
library for dos, and have struck some problems. I'm thinking of calling
it "Euphoria Sound System", or ESS for short. I plan for it to be a
major improvement on previous Euphoria sound libraries, with
simultaneous operation of one or two 8 or 16-bit sound cards, interrupt
driven midi and multi-format sequencer, direct-to-disk
recording/playback, real-time wave mixer and effects, and probably
editable OPL2/3 instrument banks as well. I am actually not very far
into it, and it is an ambitious project at best.
-- Firstly, I wish to recruit a bugtester or two. If you have a true
16 bit Sound Blaster (DSP version >= 4.00, SB16 / AWE32 or
compatibles?), _and_ a midi plug adapter for the SB's gameport, you
could help me greatly by verifying my code is silly and not my sound
card. Just have to connect midi in to midi out, run my buggy program,
listen to the hum for a bit and tell me what pops out under "Errors:".
Please contact me if you can help, the code's a bit big for posting on
the list.
Basically, I'm currently trying to get both 16-bit sound and the MPU-401
midi interface to work simultaneously on the newer SB's. The good news
is it works. The bad news is not properly. When the DSP is producing
sound and the MPU is set and ready, somehow single 0 value bytes are
occasionally and randomly sent _out_ the MPU midi port. These can be
captured by the looback to be studied, but reveal very little except how
well they're going to corrupt any real outgoing midi messages. If the
program can be run by somebody without producing these glitches, I will
buy me a new sound card.
These glitches will happen even when the routine that actually has the
job of sending data out the MPU is completely removed. Either side
works independently just fine. 8 or 16 bit waves with the MPU turned
off, fine. Midi loopback with no waves playing, fine. Together,
Glitches! I have massaged the code many times to no avail, and I
finally think the problem could be hardware. This seems unlikely too,
though. I have a SB16 PnP DSP Ver 4.13 and it doesn't appear to play up
any other time... confusing.
-- Secondly, I would like to access INT #21 for dos file operations and
wish to do so from within an assembly routine, not using the
dos_interrupt() function. Are there any special procedures that must be
undertaken with regards to the Causeway extender to do this? It is to
be accessed from an interrupt service routine.
Also on the same topic, how do I initialize a segmented pointer to a
low-memory buffer [ds:si] for what I assume is 16-bit code when all I
have is the linear 32-bit address of the buffer and I want to sort of
keep my data segment? I'm not sure how to use the lea instruction in
this context. Also all in assembly for the same direct-to-disk
recording or playback ISR...
Anyway, I'm stumped. Please, help me out if you can.
--
Nick Metcalfe <metcalfn at alphalink.com.au>
http://www.alphalink.com.au/~metcalfn
2. Re: Euphoria Sound System?
Nick,
I've got a Soundblaster Live! Value card. And a MIDI keyboard (Casio
CTK-811EX). Could I help?
< |<
> -----Original Message-----
> From: Euphoria Programming for MS-DOS
> [mailto:EUPHORIA at LISTSERV.MUOHIO.EDU]On Behalf Of Nick Metcalfe
> Sent: Tuesday, October 12, 1999 12:14 PM
> To: EUPHORIA at LISTSERV.MUOHIO.EDU
> Subject: Euphoria Sound System?
>
>
> -- Firstly, I wish to recruit a bugtester or two. If you have a true
> 16 bit Sound Blaster (DSP version >= 4.00, SB16 / AWE32 or
> compatibles?), _and_ a midi plug adapter for the SB's gameport, you
> could help me greatly by verifying my code is silly and not my sound
> card. Just have to connect midi in to midi out, run my buggy program,
> listen to the hum for a bit and tell me what pops out under "Errors:".
> Please contact me if you can help, the code's a bit big for posting on
> the list.
3. Re: Euphoria Sound System?
I have a SB-AWE32 pnp (with a Yamaha DB50XG daughterboard).
I can try it out if you want. sounds interesting anyway.
Riwal Raude
rauder at thmulti.com
> -----Original Message-----
> From: Nick Metcalfe [SMTP:metcalfn at ALPHALINK.COM.AU]
> Sent: Tuesday, October 12, 1999 7:14 PM
> To: EUPHORIA at LISTSERV.MUOHIO.EDU
> Subject: Euphoria Sound System?
>
> I am in the process of writing a new 16-bit wave + midi Euphoria sound
> library for dos, and have struck some problems. I'm thinking of calling
> it "Euphoria Sound System", or ESS for short. I plan for it to be a
> major improvement on previous Euphoria sound libraries, with
> simultaneous operation of one or two 8 or 16-bit sound cards, interrupt
> driven midi and multi-format sequencer, direct-to-disk
> recording/playback, real-time wave mixer and effects, and probably
> editable OPL2/3 instrument banks as well. I am actually not very far
> into it, and it is an ambitious project at best.
>
> -- Firstly, I wish to recruit a bugtester or two. If you have a true
> 16 bit Sound Blaster (DSP version >= 4.00, SB16 / AWE32 or
> compatibles?), _and_ a midi plug adapter for the SB's gameport, you
> could help me greatly by verifying my code is silly and not my sound
> card. Just have to connect midi in to midi out, run my buggy program,
> listen to the hum for a bit and tell me what pops out under "Errors:".
> Please contact me if you can help, the code's a bit big for posting on
> the list.
>
> Basically, I'm currently trying to get both 16-bit sound and the MPU-401
> midi interface to work simultaneously on the newer SB's. The good news
> is it works. The bad news is not properly. When the DSP is producing
> sound and the MPU is set and ready, somehow single 0 value bytes are
> occasionally and randomly sent _out_ the MPU midi port. These can be
> captured by the looback to be studied, but reveal very little except how
> well they're going to corrupt any real outgoing midi messages. If the
> program can be run by somebody without producing these glitches, I will
> buy me a new sound card.
>
> These glitches will happen even when the routine that actually has the
> job of sending data out the MPU is completely removed. Either side
> works independently just fine. 8 or 16 bit waves with the MPU turned
> off, fine. Midi loopback with no waves playing, fine. Together,
> Glitches! I have massaged the code many times to no avail, and I
> finally think the problem could be hardware. This seems unlikely too,
> though. I have a SB16 PnP DSP Ver 4.13 and it doesn't appear to play up
> any other time... confusing.
>
>
> -- Secondly, I would like to access INT #21 for dos file operations and
> wish to do so from within an assembly routine, not using the
> dos_interrupt() function. Are there any special procedures that must be
> undertaken with regards to the Causeway extender to do this? It is to
> be accessed from an interrupt service routine.
>
> Also on the same topic, how do I initialize a segmented pointer to a
> low-memory buffer [ds:si] for what I assume is 16-bit code when all I
> have is the linear 32-bit address of the buffer and I want to sort of
> keep my data segment? I'm not sure how to use the lea instruction in
> this context. Also all in assembly for the same direct-to-disk
> recording or playback ISR...
>
> Anyway, I'm stumped. Please, help me out if you can.
>
> --
> Nick Metcalfe <metcalfn at alphalink.com.au>
> http://www.alphalink.com.au/~metcalfn
4. Re: Euphoria Sound System?
- Posted by Nick Metcalfe <metcalfn at ALPHALINK.COM.AU>
Oct 13, 1999
-
Last edited Oct 14, 1999
C. K. Lester wrote:
> Nick,
>
> I've got a Soundblaster Live! Value card. And a MIDI keyboard (Casio
> CTK-811EX). Could I help?
>
Hi, C.K. I assume you can connect your keyboard to the SB with a midi
cable. This is perfect if the keyboard has a midi through socket
I
will send you the code to try.
Raude Riwal wrote:
>
> I have a SB-AWE32 pnp (with a Yamaha DB50XG daughterboard).
> I can try it out if you want. sounds interesting anyway.
>
> Riwal Raude
> rauder at thmulti.com
>
Hi, Raude. Unfortunately, just having a daughterboard wont help. There
needs to be a way to transfer midi messages direct from the output to the
input with a loopback arrangement, and the "feature adapters" on the sb
cards wont do this. A midi adapter of some kind is required, but thanks all
the same.
The midi adapter cables for the SB cards connects through the game port on
the SB. Simple cables can be bought or better yet, easily made. All that
is needed is the right plugs and some twin-core shielded cable. This
arrangement works and is great to hook up one device or so, but is not very
suitable for heavy-duty or high traffic setups. Much better results are
achieved with a little more circuitry.
In truth, all that is really needed is some kind of connection from pin 12
(output) to pin 15 (input) of the SB's joystick port for the loopback, but I
would advise strongly against experimenting with bits of wire or the like
unless you're very sure what you're doing.
I have more construction details for any of these adapters if anybody's
interested.
--
Nick Metcalfe <metcalfn at alphalink.com.au>
http://www.alphalink.com.au/~metcalfn
5. Re: Euphoria Sound System?
Nick,
Yes, I can connect my keyboard to the SB via MIDI cable. What do you mean by
"MIDI through socket?" The keyboard can receive MIDI commands from my PC,
which is probably what you mean, right?
Anyway, send the code.
< |<
> -----Original Message-----
> From: Euphoria Programming for MS-DOS
> [mailto:EUPHORIA at LISTSERV.MUOHIO.EDU]On Behalf Of Nick Metcalfe
> Sent: Wednesday, October 13, 1999 8:56 AM
> To: EUPHORIA at LISTSERV.MUOHIO.EDU
> Subject: Re: Euphoria Sound System?
>
>
> C. K. Lester wrote:
>
> > Nick,
> >
> > I've got a Soundblaster Live! Value card. And a MIDI keyboard (Casio
> > CTK-811EX). Could I help?
> >
>
> Hi, C.K. I assume you can connect your keyboard to the SB with a midi
> cable. This is perfect if the keyboard has a midi through socket
I
> will send you the code to try.
>
>
>
> Raude Riwal wrote:
>
> >
>
> > I have a SB-AWE32 pnp (with a Yamaha DB50XG daughterboard).
> > I can try it out if you want. sounds interesting anyway.
> >
> > Riwal Raude
> > rauder at thmulti.com
> >
>
> Hi, Raude. Unfortunately, just having a daughterboard wont help. There
> needs to be a way to transfer midi messages direct from the output to the
> input with a loopback arrangement, and the "feature adapters" on the sb
> cards wont do this. A midi adapter of some kind is required, but
> thanks all
> the same.
>
>
> The midi adapter cables for the SB cards connects through the game port on
> the SB. Simple cables can be bought or better yet, easily made. All that
> is needed is the right plugs and some twin-core shielded cable. This
> arrangement works and is great to hook up one device or so, but
> is not very
> suitable for heavy-duty or high traffic setups. Much better results are
> achieved with a little more circuitry.
>
> In truth, all that is really needed is some kind of connection from pin 12
> (output) to pin 15 (input) of the SB's joystick port for the
> loopback, but I
> would advise strongly against experimenting with bits of wire or the like
> unless you're very sure what you're doing.
>
> I have more construction details for any of these adapters if anybody's
> interested.
>
> --
> Nick Metcalfe <metcalfn at alphalink.com.au>
> http://www.alphalink.com.au/~metcalfn
>
6. Re: Euphoria Sound System?
I also have a farfisa keyboard that I once connected to my card. I never use
it
cause I am a saxophone player, not a pianist...
> -----Original Message-----
> From: Nick Metcalfe [SMTP:metcalfn at ALPHALINK.COM.AU]
> Sent: Wednesday, October 13, 1999 3:56 PM
> To: EUPHORIA at LISTSERV.MUOHIO.EDU
> Subject: Re: Euphoria Sound System?
>
> C. K. Lester wrote:
>
> > Nick,
> >
> > I've got a Soundblaster Live! Value card. And a MIDI keyboard (Casio
> > CTK-811EX). Could I help?
> >
>
> Hi, C.K. I assume you can connect your keyboard to the SB with a midi
> cable. This is perfect if the keyboard has a midi through socket
I
> will send you the code to try.
>
>
>
> Raude Riwal wrote:
>
> >
>
> > I have a SB-AWE32 pnp (with a Yamaha DB50XG daughterboard).
> > I can try it out if you want. sounds interesting anyway.
> >
> > Riwal Raude
> > rauder at thmulti.com
> >
>
> Hi, Raude. Unfortunately, just having a daughterboard wont help. There
> needs to be a way to transfer midi messages direct from the output to the
> input with a loopback arrangement, and the "feature adapters" on the sb
> cards wont do this. A midi adapter of some kind is required, but thanks
> all
> the same.
>
>
> The midi adapter cables for the SB cards connects through the game port on
> the SB. Simple cables can be bought or better yet, easily made. All that
> is needed is the right plugs and some twin-core shielded cable. This
> arrangement works and is great to hook up one device or so, but is not
> very
> suitable for heavy-duty or high traffic setups. Much better results are
> achieved with a little more circuitry.
>
> In truth, all that is really needed is some kind of connection from pin 12
> (output) to pin 15 (input) of the SB's joystick port for the loopback, but
> I
> would advise strongly against experimenting with bits of wire or the like
> unless you're very sure what you're doing.
>
> I have more construction details for any of these adapters if anybody's
> interested.
>
> --
> Nick Metcalfe <metcalfn at alphalink.com.au>
> http://www.alphalink.com.au/~metcalfn
7. Re: Euphoria Sound System?
I have a ISA AWE32 and can do a loop back of the midi interface. Where is
the file located on your web site. What is the file called. If its not too
large can't you attach it to your e-mail ?
Bernie
8. Re: Euphoria Sound System?
--------------7C2129C2676436FCD7AE42FE
Bernie Ryan wrote:
> I have a ISA AWE32 and can do a loop back of the midi interface. Where is
> the file located on your web site. What is the file called. If its not too
> large can't you attach it to your e-mail ?
> Bernie
Hi Bernie. Thanks for volunteering your services
I haven't put the file
on my web page 'cause its way too incomplete and I change it every day.
Anyway, here 'tis..
When the program is run, it should show setup debugging information and
then play a low tone through the sb. At the same time, it will be
sending and monitoring loopback data through the midi port. Any data
errors will increment the "Errors:" counter. This will continue until
the esc key is pressed.
If the Errors counter shoots up and it says nothing but "Bad!" then the
loopback may not be connected properly. If it sends most blocks ok, but
occasionaly says "Bad!" and increases Errors, then I can assume it's
the code 'cause this is precisely what happens to me. If no errors
happen for at least a minute or so then I can assume it's my card and
get a new one.
Thanks again. Hope to hear from you soon,
--
Nick Metcalfe <metcalfn at alphalink.com.au>
http://www.alphalink.com.au/~metcalfn
--------------7C2129C2676436FCD7AE42FE
9. Re: Euphoria Sound System?
Raude Riwal wrote:
> I also have a farfisa keyboard that I once connected to my card. I never use
> it
> cause I am a saxophone player, not a pianist...
Great! then it is entirely likely you have the necessary cables. I will send
you more details.
C.K. Lester wrote:
> Nick,
>
> Yes, I can connect my keyboard to the SB via MIDI cable. What do you mean by
> "MIDI through socket?" The keyboard can receive MIDI commands from my PC,
> which is probably what you mean, right?
>
> Anyway, send the code.
>
Many new keyboards don't have the through connector feature to save
manufacturing costs. It is not the midi in socket, but a third socket that
simply echoes any input back out. This is to facilitate "daisy chaining", a
method of connecting many midi devices in series. It doesn't matter if there
isn't one, it just makes connections easier. Connecting a cable from the sb's
midi out to it's midi in will do just as well if you have the cable.
--
Nick Metcalfe <metcalfn at alphalink.com.au>
http://www.alphalink.com.au/~metcalfn
10. Re: Euphoria Sound System?
>-- Firstly, I wish to recruit a bugtester or two. If you have a true
>16 bit Sound Blaster (DSP version >= 4.00, SB16 / AWE32 or
>compatibles?), _and_ a midi plug adapter for the SB's gameport, you
>could help me greatly by verifying my code is silly and not my sound
>card. Just have to connect midi in to midi out, run my buggy program,
>listen to the hum for a bit and tell me what pops out under "Errors:".
>Please contact me if you can help, the code's a bit big for posting on
>the list.
Nick
The first time I ran it the error count was at first low but all of
sudden increased dramically.
The second time I ran it the loop count died at 675 with 5 errors.
The software does not release the resources properly (MPU) because
you can not run it a second time unless you do a cold boot.
I don't think that problems are your soundcard. If you go to the
creative labs web site. There are some sdk awe32 files that explain
how to program the AWE soundcard.
By the way I don't think you should use the name ESS for your code
because there is a ESS soundcard which uses ess in software files.
This would cause a lot of confusion if someone has this soundcard.
Bernie
11. Re: Euphoria Sound System?
Thanks for the info, Bernie. That's all I need to know.
I can assume that the interrupts are not being handled properly, the
"locking up" may well indicate an unacknowledged interrupt. I thought I
had dealt with this, but apparently not very well
This is my answer
then. Incidentally, if esc is pressed before the lock up, all system
resources should be returned okay, not that this helps much.
My problem is partly lack of good information. I have looked at the awe32
sdk you mention, but it only explains programming the awe synth and refers
DSP programming to the sbhwpg (sound blaster hardware programming guide)
sdk also from Creative. This particular guide has been my number one
reference so far but it's description of DSP4 interrupt sharing is not very
enlightening. Could anyone point me to more sb16 specific programming
information?
You are probably right for me not to use ESS as a name. How about
Ensemble (for Euphoria)?
Bernie Ryan wrote:
>
> The first time I ran it the error count was at first low but all of
> sudden increased dramically.
>
> The second time I ran it the loop count died at 675 with 5 errors.
>
> The software does not release the resources properly (MPU) because
> you can not run it a second time unless you do a cold boot.
>
> I don't think that problems are your soundcard. If you go to the
> creative labs web site. There are some sdk awe32 files that explain
> how to program the AWE soundcard.
>
> By the way I don't think you should use the name ESS for your code
> because there is a ESS soundcard which uses ess in software files.
> This would cause a lot of confusion if someone has this soundcard.
>
> Bernie
--
Nick Metcalfe <metcalfn at alphalink.com.au>
http://www.alphalink.com.au/~metcalfn
12. Re: Euphoria Sound System?
Nick:
This may help you go here for dsp info and sb16 programming.
http://www.xraylith.wisc.edu/~ebrodsky/sb16doc/sb16doc.html
Bernie
13. Re: Euphoria Sound System?
Thanks again, Bernie for your help. It's a good doc, but I could not
find any reference to interrupt sharing and at most only a brief mention
of isrs at all.
I now believe that shared interrupts can happen concurrently, both MPU
and DSP requesting service at once with one interrupt. This may explain
where interrupts are being lost. The sbhwpg is not clear on this point,
and I had assumed it did not happen. Catching this state to see for
myself was tricky but I think I saw it happen. Time to rewrite the
isrs..
--
Nick Metcalfe <metcalfn at alphalink.com.au>
http://www.alphalink.com.au/~metcalfn
14. Re: Euphoria Sound System?
Have you tried to see what is on the opensource side? there is a lot of
useful information about sound cards on this page:
http://members.tripod.de/iwai/awedrv.html
Riwal Raude
rauder at thmulti.com
> -----Original Message-----
> From: Nick Metcalfe [SMTP:metcalfn at ALPHALINK.COM.AU]
> Sent: Thursday, October 14, 1999 9:33 PM
> To: EUPHORIA at LISTSERV.MUOHIO.EDU
> Subject: Re: Euphoria Sound System?
>
> Thanks again, Bernie for your help. It's a good doc, but I could not
> find any reference to interrupt sharing and at most only a brief mention
> of isrs at all.
>
> I now believe that shared interrupts can happen concurrently, both MPU
> and DSP requesting service at once with one interrupt. This may explain
> where interrupts are being lost. The sbhwpg is not clear on this point,
> and I had assumed it did not happen. Catching this state to see for
> myself was tricky but I think I saw it happen. Time to rewrite the
> isrs..
>
> --
> Nick Metcalfe <metcalfn at alphalink.com.au>
> http://www.alphalink.com.au/~metcalfn