Hello,

11.12.2012 06:17, Bart Oldeman пишет:
> with adlib there is another issue, namely the MAME ymf262.c, see
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559443
Grr, the licensing problems are turning into a technical problems,
again...
By the way, I thought the "unlicensed" code defaults to the main
license of the project. At least I don't think I ever covered my
contributions to other projects with some license, and there were
no problems, even in linux kernel.

> it's the same for dosemu as for dosbox. So I had a look at
> alternatives. DOSBOX has two, opl.cpp ("compat", derived from Ken
> Silverman's code) and dbopl.cpp ("fast"). dbopl.cpp was ported to C
> from C++ in Chocolate Doom, so I took that and integrated with dosemu
> adding in a bit of timer code from dosbox as well. It's just a patch,
> not committed yet.
Seems like you made it to work with both ymf262.c and dbopl.c.
I guess that's for testing only? We probably don't need 2
implementations, but it would be easy to run unifdef to get rid
of either one.
Also, a quick looks shows there are still some plusisms:
---
+struct Handler : public Adlib::Handler {
---
Does this even work?

> It seems to run fine apart from a recent change regarding timer
> adjustments I don't know how to integrate properly, see the XXX in
> adlib.c, Stas could you have a look since you are much more familiar
> with this code than myself? For now I just #ifdef'ed everything for
> easier testing, but ymf262 has to go (if dbopl is not good, Ken
> Silverman opl.cpp's C++ is almost C, integration would be fairly
> straightforward).
I never liked ymf262.c too much, so since you already made
a patch, I'll take a look maybe at a week end.
What I would like to have, is:
- Some API that will tell us that the chip is doing nothing but
generating the silence. In this case we can just stop wasting
CPU power on it. Currently I am using a timeout approach to
that, which is both silly and unreliable.
- Sequencer API, so that we can process the samples by the
large chunks. I recently added the chunks of 128 samples,
which is small, and I hope the inaccuracy will not be noticed.
But, in general, it is incorrect to use chunks while the sequencer
API is missing.
dbopl.c doesn't seem to have any of the above, at least on
a quick glance I did. It still seems to be modelled around the
old API of ymf262.c. So, while I can't comment on an implementation
internals, for us it isn't going to be any better, if not worse. :)

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Dosemu-devel mailing list
Dosemu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dosemu-devel

Reply via email to