@__jr__: if you are a developer, just look at the source and find out
physics engines in general can be handled by the DSP, although, as said already, the DSP has no FPU so everything *should* be fixed point math (or use TI's float emulation library, see
http://processors.wiki.ti.com/index.php?title=Software_libraries).
@WizardStan: I'll see if I can come up with a small tutorial. The c64_tools package should already be quite easy to use without one, though.
So, before the weekend starts, here is the latest release of "c64_tools":
** Changes
20-Sep-2013
- changed: GPP applications do not require root privileges anymore (a bug in the last release)
- GPP applications now have access to the second half of the L1DSRAM of the DSP (24 kbytes)
The last 16 bytes of that area are used as IPC 'registers'. See "include/dsp_common.h".
- added dsp_fastcall_rpc() (can be called after the DSP has initiated a fastcall sequence)
- added dsp_fastcall_end() (must be called to finish the fastcall sequence)
- added dsp_rpc_send() and dsp_rpc_recv() (so that applications can do something else while
the DSP is busy)
- added new DSP "dsp_calc_fastcall" demo component that shows how to implement fastcall RPCs
- added testcase #6 to "tests/c64_tc.c" (fastcall RPC example)
- added testcase #7 to "tests/c64_tc.c" (SRAM access benchmark (=> ~3.89 million 32bit reads/writes per second)
- the "c64.ko" kernel module now allocates the DSP image area (fixed address) during init.
this means that it is no longer necessary to statically reserve memory for the DSP at boot time.
(thanks to Notaz for providing a new Linux kernel and a small example module !)
** NOTE ** You need the updated kernel (see "bin-20Sep2013/uImage-3", copy it to "/boot" on the Pandora)
for the kernel module binary to work.
Please use the "scripts/cma_dsp_mem/autoboot.txt" boot script (works on all Pandora editions).
In case you do not want to update your kernel for some reason, you have to undefine
"USE_PLATFORM_DRIVER" in "c64_kmod/kmod.c" and rebuild the module. You will also need
to use one of the "scripts/static_dsp_mem/*" boot scripts (depends on what edition you have).
p.s.: the updated (23:59) "go64.sh" script fixes the "/dev/c64" permissions after loading the kernel module (which creates the device inode), so that the device is actually accessible for "everyone".
c64_tools-20Sep2013.tar.gz