On Sunday 15 November 2009 21:00:29 you wrote:
> On Sun, 15 Nov 2009, Yair K. wrote:
> > On Sunday 15 November 2009 18:32:23 you wrote:
> >> On Sun, Nov 15, 2009 at 3:25 PM, Yair K. <cesi...@gmail.com> wrote:
> >>> Hi,
> >>>
> >>>  I was informed[1] that OSS v4.1 has been ported to Minix3[2]. I wonder
> >>> if it's possible to merge at least some parts of the diff into the
> >>> source tree? It will probably help other ports...
> >>>
> >>> Two simple and mostly mechanical patches are attached as a start:
> >>> 1. Replace most C++ comments with C comments.
> >>> 2. Remove some uses of "long long", and #ifdef OSS_NO_LONG_LONG for
> >>> some others. I noticed that oss_install_audiodev() has a different type
> >>> to "flags" argument than oss_install_audiodev_with_devname(), so both
> >>> were standardized to unsigned long. Note that I haven't touched MIDI
> >>> subsystem here, nor the grc3 changes.
> >>>
> >>> Yours,
> >>>        Yair K.
> >>>
> >>> [1] http://4front-tech.com/forum/viewtopic.php?f=16&t=3473
> >>> [2] www.minix3.org - BSD licensed OS and a continuation of the famous
> >>> Minix.
> >>
> >> Dear Yair K.,
> >>
> >> First of all thanks to all developers of OSS for this great piece of
> >> software and for writing it in such a way that it could be ported
> >> relatively easily to Minix.
> >>
> >> As a reaction to the merging. A (partly) merge would be great, but
> >> when I finished the port, I considered the changes a bit too intrusive
> >> for a merge. Also Minix changes fast and a lot. For example there was
> >> no /dev fs in Minix when I finished the port, but I think now there
> >> is.
> >>
> >> As a reaction to [2]. A), B) I think I tried that, but it didn't work
> >> out at the time, but I can't remember it correctly. For me the project
> >> lasted on and off one year and a half. C) I think I took the
> >> ossdevlinks from OSS 4.0 because of some includes that weren't
> >> available in Minix (at the time, perhaps now they are).
> >>
> >> I started off with OSS 4.0 on Minix 3.1.3 which has no virtual memory.
> >> I think I then ported it to 3.1.4 which has virtual memory and
> >> asynchronous messages, which affects the port a lot. Then I switched
> >> to OSS 4.1, which gave me far better result, especially in the vmix
> >> section. Also I switched back and forth between gcc (with built in
> >> long long wrappers) and ack, without 64 bit integers. So because of
> >> all these changes, it could very well be that I took some wrong
> >> decisions or I left in some choices that could have been done better.
> >>
> >> I posted on my website the original source as I delivered it to the
> >> Minix guys and a document describing the port. This may give some more
> >> information about the port. The link is: http://www.few.vu.nl/~hphijma
> >
> > Thanks for all your work! It looks to me like you intended to CC this to
> > the oss-devel list too, so I hope you don't mind if I CC my reply.
> >
> > I think a partial merge can at least reduce the diff and maybe help other
> > ports, so it's useful on its own. The Minix community prefers to manage
> > the wrappers on its end, but OSS changes too, so a merge of the
> > OS-dependent parts would be useful and will help prevent problems if they
> > upgrade OSS version (we can sync the wrapper to the Minix tree every once
> > in a while).
> >
> > The document in your site is quite enlightening, I don't think I have
> > ever seen a report where "Using oss_sblive driver, All files with 48K
> > rate play with right-channel being noisy" (there's a right-channel
> > problem with oss_hdaudio and ALC1200 codec though). Does this happen when
> > vmix is disabled too?
> >
> > Yours,
> >     Yair K.
> 
> I think so, but I'm not sure. It's a Minix thing. On FreeBSD with the exact
> same hardware, there's no problem. The noise sounds like the noise I got
>  when some sample rate conversion went wrong.
> 
> I've been trying to solve this bug for months, but I couldn't find it. Just
> recently I have a new idea about what might cause the noise. Unfortunately,
>  I have very little time to check it. Because the floating point registers
>  aren't saved on a context switch in Minix, the ack and gcc compiler don't
>  generate floating point instructions, but wrappers for floating point
>  arithmetic. It was brought to my attention that the format for floating
>  point of those wrappers are different from the format of the hardware
>  floating point. I think this may be the problem. I will report back as
>  soon as I have time to check it.

IIRC if vmix isn't configured in floating point mode (default only in Linux, 
your port doesn't enable it AFAICT), OSS uses only integer arithmetic, so I 
don't think it's the issue.

Yours,
        Yair K.
_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to