[gccsdk] Adapted DRender for more efficient /dev/dsp emulation with DigitalRenderer

Christopher Martin belles at internode.on.net
Sun Apr 22 08:38:25 PDT 2012


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

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

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.

More information about the gcc mailing list