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. Kind regards, Pieter Hijma _______________________________________________ oss-devel mailing list oss-devel@mailman.opensound.com http://mailman.opensound.com/mailman/listinfo/oss-devel