Linux MS DOS discussions
 help / color / mirror / Atom feed
* Re: sound support (Re: XMS problem with Aladdin demo)
@ 2005-03-09 17:25 Stas Sergeev
  2005-03-09 19:02 ` Julius Schwartzenberg
  0 siblings, 1 reply; 26+ messages in thread
From: Stas Sergeev @ 2005-03-09 17:25 UTC (permalink / raw)
  To: linux-msdos

Hello.

Julius Schwartzenberg wrote:
> Any idea why it is only 'half' working?
I can think of 2 things: either it is
a conflict with the linux driver, or
with dosemu. You can isolate the both
possibilities.
1. Disable sound in dosemu config.
Then dosemu will not even try to grab
an OPL ports. Yes, SB won't work, but
Wolf might still be able to see Adlib,
and you'll be able to tell if it works
any better.
2. Disable all the sound drivers in
linux and reboot the machine just in
case. Make sure they are still not
loaded after reboot. Maybe they configure
your card somehow that the DOS prog
starts having problems.


^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: sound support (Re: XMS problem with Aladdin demo)
@ 2005-03-09 19:42 Stas Sergeev
  2005-03-10 18:13 ` Julius Schwartzenberg
  0 siblings, 1 reply; 26+ messages in thread
From: Stas Sergeev @ 2005-03-09 19:42 UTC (permalink / raw)
  To: linux-msdos

Hello.

Julius Schwartzenberg wrote:
> I already tried this, but it
> doesn't seem to make any difference.
But dosemu stops complaining about the
port conflicts, right?

> I just tried it. Wolfenstein 3-D now is able to detect the OPL3 chip, 
> but I can't hear anything (probably because the mixer isn't set).
> In Wacky Wheels, I also can't hear anything.
Hmm, would it be possible then to boot
into DOS, set the mixer volumes, then
reboot back to linux (but with the "hot"
reboot, not with the reset button), and
then, if you don't load any ALSA module,
I think the volume will stick.
Another thing to try is to open also all
the SB ports to the DOS prog. Then you'll
probably be able to use mixer, and it
is also possible to use the SB ports
for the OPL access.


^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: sound support (Re: XMS problem with Aladdin demo)
@ 2005-03-08 19:45 Stas Sergeev
  2005-03-08 21:25 ` Ryan Underwood
  0 siblings, 1 reply; 26+ messages in thread
From: Stas Sergeev @ 2005-03-08 19:45 UTC (permalink / raw)
  To: linux-msdos

Hello.

Bernhard Bialas wrote:
> However, a liitle bit more -compared
> to now-"marketing" would be very usefull.
Comparing with what? It is probably
only dosbox that is close enough
with the goals to dosemu, but the
fair comparison between these two
is very unlikely. It will heavily
depend of who's comparing:) I think
it is better to not, or there can
be some flame. I've seen the dosbox
vs dosemu wars on a dosbox forums
sometimes, it is better to not have
the like things also on that side;)

> As such "marketing" I would see
> a list of applications which has been 
> tested and works and also show
> these one which are problematic.
Yes, that list would be very usefull
to have. I was trying to do something
like that in EMUfailures.txt, but of
course the real database will be much,
much better.

> If I remember right, Ryan has a
> plan to realize such list.
Yes, for many years now:)
Setting the wiki page might be very
interesting. Will probably help to
update the docs a little and gather
all those writings about dosemu,
like "dosemu for dummies" and others.


^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: sound support (Re: XMS problem with Aladdin demo)
@ 2005-03-08 19:24 Stas Sergeev
  2005-03-08 21:23 ` Ryan Underwood
  0 siblings, 1 reply; 26+ messages in thread
From: Stas Sergeev @ 2005-03-08 19:24 UTC (permalink / raw)
  To: linux-msdos

Hello.

Julius Schwartzenberg wrote:
>> http://www.geocities.com/SiliconValley/Circuit/5426/dosemu.html
>> something we don't want to have.
> This patch seems pretty neat.
Please note: this patch includes the
linux kernel module, not only the
dosemu modifications. This is needed
to drive the DMA controller directly.
You won't get it included into an
official kernel - people from XFree
tried that many times, this fails.
Linus doesn't want to provide the
DMA control to userspace I think,
or maybe there wasn't a good
implementation.
But people never give up:
http://www.ussg.iu.edu/hypermail/linux/kernel/0311.2/0107.html
http://www.bennee.com/~alex/software/kernel/index.php
The DMA access might be usefull for
dosemu, but not for sound. It is
good for driving some legacy hardware.

> Is there any chance that at least OPL3
> support could be added in such a way to Dosemu?
OPL3 doesn't need DMA. It doesn't actually
even need an interrupts. I see no reasons
why the one can't simply open an access
to the OPL3 ports for dosemu and it wont
work. Have you tried?


^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: sound support (Re: XMS problem with Aladdin demo)
@ 2005-03-08 15:58 Stas Sergeev
  0 siblings, 0 replies; 26+ messages in thread
From: Stas Sergeev @ 2005-03-08 15:58 UTC (permalink / raw)
  To: linux-msdos

Stas Sergeev wrote:
>> Problem right now is that JACK only supports ALSA as a
> That depends on how much we beleive
> into it. The faq says:
No, completely wrong quote, sorry.
Here's the proper one:
---
Currently jack only has support for alsa
as a sound driver. In the future there may
be more driver options although it is not
very likely.
---
But I don't know if it is a problem
or not. ALSA will be around probably
much longer than dosemu will:)
Have anyone looked into NAS btw?


^ permalink raw reply	[flat|nested] 26+ messages in thread
* sound support (Re: XMS problem with Aladdin demo)
@ 2005-03-08 13:01 Stas Sergeev
  2005-03-08 18:28 ` Julius Schwartzenberg
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Stas Sergeev @ 2005-03-08 13:01 UTC (permalink / raw)
  To: linux-msdos

Hello.

Ryan Underwood wrote:
> Problem right now is that JACK only supports ALSA as a
That depends on how much we beleive
into it. The faq says:
---
a JACK backend to PortAudio
is under construction that would allow PortAudio apps to connect to JACK
ports.
---
Can we trust that? No idea.

> What about
> PortAudio?  It uses the callback based model like JACK but with many
> more back-ends besides ALSA.
From a quick glance to the PortAudio
docs (which are in a chaos, as far as
I can tell), it is not an abstraction
layer, but rather an I/O library that
provides an access to the different
sound systems, and that access is not
unified. This is probably not the level
we have to use directly. JACK can get
use of it instead.
Also, a callback-based model, I hate to
say that, but looks like not the best
choise for us:( That may be fine for
Adlib, but for DMA sound this is a
problem. As I said already, we have to
do the smooth DMA transfers. Callback
API is chunk-oriented by design, which
is not good. We can accumulate the data
on an SB side and feed it to the callback
routine, but even then we won't have
enough info to control the DMA speed.
I.e. how do we know when the next
callback is to happen, and is the
current speed enough to supply the
necessary amount of data when the
callback happens? VDMSound uses the
on-fly DMA speed adjusting, which is
what we probably have to do as well,
and that doesn't work with the callback
model as far as I can tell. This is a
big problem.

> There is the problem still of cards
> which do not support hardware mixing.
That must be the headache for the mixing
layer, not ours.

> First, dmix
> will be a default plughw device configuration, so users will not have
> problems with this.
That's not directly related to our
problems, but dmix is capable to mix
only two streams of the same rate.
It just sums the values of the streams.
I don't know how good it mixes more than
2 streams. It doesn't support 8bit
streams. If you want to use it with the
streams of a different rate, you'll likely
to have to route them via "plug" first,
but then there is no way to mmap the
card's buffer, and there are latencies
too. And you can't connect dmix to something
else than the "hw". etc etc. Well, the
way dmix is implemented, its use is very
limited. Well, not our problems at all.

> Also, ALSA semantics should be changed to return
> -EBUSY instead of blocking when a sound device is opened
Isn't it what's the O_NONBLOCK for?

> problem I don't know enough about is
> what control over the audio stream
> we get when dmix is in use.
Unless we use ALSA directly, not our
problem at all.

> Additional problem of using JACK is that it doesn't work with dmix, so
> it would block the card on a device which only supports one stream.
Do you mean it opens the "hw" instead
of the "default" output? That may be
for reason - if JACK does any mixing
itself (does it?), it might be doing
it better than dmix. Just a wild guess.

>> is full. Some DOS progs controls the
>> DMA registers during the sound output,
>> and that's why we have to guarantee the
>> smooth transfer and the accurate timing
>> ourself.
> Does this imply we must mmap the sound buffer?
No, that means exactly the opposite.
mmapping the buffer is a dead end.
We will then have to do the mixing
and resampling ourselves, and we'll
not allow the other apps to use the
card with us, unless there is a hw
mixing I guess, and you can't mmap
unless you use the ALSA/OSS directly,
and even then you don't know what
you have mmapped, as the DMA organisation
can be different on the different cards.
And when the things like plug/dmix are
in use, I don't know what you'll mmap
in fact. No, we aint gonna mmap the
cards buffers. That was used by the
direct-SB patch:
http://www.geocities.com/SiliconValley/Circuit/5426/dosemu.html
something we don't want to have.

>> code waits for the OSS buffer to became
>> empty, resets the sound card, sets the
>> new parameters, and resumes the transfer.
> Yes, this is completely stupid.
thanks... :)

> Well, this may have been sufficient
> at the time, since we had not even
Yes, exactly. That was quite sufficint
because it was a vast improvement over
the existing code, but it turned out
to be not future-proof. That's why the
new startups are achieving most of the
dosemu functionality within a *much*
smaller time-frame - they are not bound
to the ancient code and they do not
have to re-evaluate all those ancient
ideas behind that code etc.

> idea that e.g. VESA, DPMI, WfW support
> would become so good.
No-no, VGA/VESA emulation state internally
is not much better than the one of the sound.
Even the Windows VESA drivers that Japheth
wrote for us, are still not adopted.
DPMI state is now rather good indeed, but
that took years of (very slow) work.
WfW support is also not bad - that's because
finally we have the Windows expert who made
this possible. But there are still no
Windows experts on a FreeDOS side, so
FreeDOS is still not good for running
windows, which is bad also for dosemu.

> SB support is the worst part about trying
> play any games with dosemu.
But I thought it pretty much works.

> Well, it would help if we had more than two developers...
There are also people who help in a
specific areas, like windows support.

> dosemu has a marketing problem at the
> moment comparing to dosbox and qemu :)
I don't think so. dosbox have the Windows,
Mac and BSD users, as well as the x86_64
users. dosemu can be ported to Windows by
using coLinux, its a low-hanging fruit
actually, but noone of the dosemu developers
seem to be using Windows... Help in that
are is much appreciated. x86_64 port is
probably more difficult, but can and must
be done. The problem is that the qemu
author seem like have abandonned the
qemu-user development, and qemu-user no
longer runs dosemu (while it used to do
that very well in the past). I have
actually almost completed the qemu
integration when that happened:(
As for qemu itself - besides being portable,
it also runs any OS, not only the realmode
ones, so it doesn't need any additional
marketing promotions:)
As soon as dosemu is ported to windows
(can be done immediately by any coLinux
user), as soon as it ported to x86_64,
and as soon as the x86_64's new virtualization
technology is adopted (with which it will
probably able to also run any OS), there
will be no marketing problem at all.

> I think there is the illusion that it is
> only good for running business
> programs. Until 1.2, that was somewhat true.
Until 1.2 the project was dead.
This was almost official,
http://www.dosemu.org/alberto
---
since the development of dosemu stopped...
---
That was the time when it was abandonned
by users, distributors and developers.
So all the marketing problems are well
deserved. Now some respect to the project
was re-gained, but to really move forward
it must be much more work than just a
marketing.

> Also, there are many
> FreeDOS bugs that get blamed on dosemu
Fortunately dosemu can be used without
FreeDOS. FreeDOS is not even capable of
running Windows.

> DOSEMU has so many features that nobody even realizes.
Surely - who cares about DOS these days? :)
The real things can be done if we get
use of the new Intel's or AMD's
virtualization technologies, but till
that time all the features you listed,
are only for DOS. But what's the use
to compete with vmware anyway:) And
who knows when the legacy support will
be completely dropped from the CPUs.

> I can use
> external hardware with no slowdown,
> even interrupt driven!
It would be nice if you re-test that
ability with the current CVS code and
make sure it was not broken by some
recent draconian changes.

> This problem of perception is why I
> would like to start a wiki like we
You are welcome to do so - documentation
is really a weakest part of dosemu now.

> It would at the same time be a support area and
> a marketing area, because other people would be
> able to see all the apps that work no problem
> and realize that dosemu is actually useful.
Yes, marketing is important, but with
such a limited development power the
project have now, it may make no sense.
I.e. I think the current "marketing state"
is adequate with the power we have.
Doing more of a promoting also raises
the expectations. The inability to
satisfy these expectation will only
make the things worse.


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2005-03-13  5:09 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-09 17:25 sound support (Re: XMS problem with Aladdin demo) Stas Sergeev
2005-03-09 19:02 ` Julius Schwartzenberg
2005-03-09 19:48   ` Ryan Underwood
2005-03-11  5:17     ` Ryan Underwood
2005-03-11  9:25       ` Julius Schwartzenberg
  -- strict thread matches above, loose matches on Subject: below --
2005-03-09 19:42 Stas Sergeev
2005-03-10 18:13 ` Julius Schwartzenberg
2005-03-10 18:45   ` Julius Schwartzenberg
2005-03-08 19:45 Stas Sergeev
2005-03-08 21:25 ` Ryan Underwood
2005-03-08 19:24 Stas Sergeev
2005-03-08 21:23 ` Ryan Underwood
2005-03-08 22:03   ` Julius Schwartzenberg
2005-03-08 22:15     ` Ryan Underwood
2005-03-08 23:05     ` Ryan Underwood
2005-03-09  9:27       ` Julius Schwartzenberg
2005-03-09 15:21         ` Ryan Underwood
2005-03-09 17:39           ` Ryan Underwood
2005-03-08 15:58 Stas Sergeev
2005-03-08 13:01 Stas Sergeev
2005-03-08 18:28 ` Julius Schwartzenberg
2005-03-08 19:31   ` Ryan Underwood
2005-03-08 22:15     ` Ryan Underwood
2005-03-08 20:39 ` Bernhard Bialas
2005-03-08 21:22 ` Ryan Underwood
2005-03-13  5:09   ` Bart Oldeman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox