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