FS#8226 - Enable audio menu for pacbox; enable audio for ipod 5g by putting emu on cop
|
DetailsThis patch puts the pacbox emulator onto the cop, leaving the main cpu for audio codec. The COP behaviour is controller by a #define in pacbox.h
If PACBOX_ON_COP is defined, then all iram usage is also turned off, to prevent interference with audio thread. Additionally, this patch adds an Audio menu (using the playback_control library), which is enabled for all PACBOX_ON_COP and GIGABEAT F-Series builds. Patch from directly within the apps/plugins/pacbox directory. |
This task depends upon
Add to the list any I forgot for sections the COP should have to iself (in core, plugins, and codecs):
.bss
.data
Of course the same sections must be aligned for CPU so that adjacent and shared .rodata and such don't play ping-pong.
I think 16 bytes is actually the correct value as well but I played cautious for the moment.
EDIT to clarify: you could switch the main thread to the COP when it's running emulation and switch back to CPU when leaving the emulation to display menus or whatever. Just use switch_core(int core_num)
For the cache functions, CACHE_FUNCTION_WRAPPERS(rb) allows use without the "rb->" and allows for the case where cache maintenence APIs are inlines instead of calls.