Hello, Having now studied the /dev/dsp emulation in libunixlib, I have adapted the DRender.s and DRender.h files included in the DigitalRenderer sources to make the /dev/dsp emulation's calls to DigitalRenderer much more efficient. All SWIs but one are called by inline assembly, rather than going through __kernel_swi or __os_swi. The one remaining SWI has an interface provided by an assembled function.
I consider the work to be experimental but I have already used it to rebuild FFplay and Wesnoth. Inline assembly can be a hairy beast so there may be errors in code that sound/dsp.c doesn't use. I would appreciate others casting an eye over it to look for problems. The other issue is that I have not tried to rebuild sound/dsp.c and sound/DRender.s using the libunixlib Makefile. Instead, I have a very simple Makefile insdie the sound folder just for that purpose, and I then use 'ar r ...' to place the two object files into libunixlib. This is because I am working on a RISC OS machine rather than Linux and so have not been able to run automake to generate a libunixlib Makefile. These are the files listed in my local repository: *svn stat ? sound/Makefile,fe1 A sound/DRender.s M sound/dsp.c A sound/DRender.h M Makefile.am I'm writing to ask if there is any interest in the work and, if so, how best to make the files available for examination and testing. -- Regards, Chris. _______________________________________________ GCCSDK mailing list [email protected] Bugzilla: http://www.riscos.info/bugzilla/index.cgi List Info: http://www.riscos.info/mailman/listinfo/gcc Main Page: http://www.riscos.info/index.php/GCCSDK
