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 gcc@gccsdk.riscos.info
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
No comments:
Post a Comment