From 05733649bce2623acfad7b163501c6fdefea985a Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Thu, 3 Nov 2016 22:27:01 -0400 Subject: XWorld: some fixes Fixes sound on most platforms, original root cause was bad menu code as well as DMA callbacks taking too long. Worked around with smaller chunk sizes. Permanent fix would include moving mixing out of the callback. Rewrites input with code from rockboy/doom. Cherry-picks a change from Gregory Montoir's `rawgl' to patch the code wheel screen. Finally, adds a motion blur filter on select targets. Change-Id: I8df549c923c5075800c6625c36c8202e53de1d27 --- apps/plugins/xworld/resource.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'apps/plugins/xworld/resource.c') diff --git a/apps/plugins/xworld/resource.c b/apps/plugins/xworld/resource.c index 2820dcb998..4bd93f0616 100644 --- a/apps/plugins/xworld/resource.c +++ b/apps/plugins/xworld/resource.c @@ -354,12 +354,14 @@ void res_allocMemBlock(struct Resource* res) { rb->audio_stop(); /* steal the audio buffer */ size_t sz; - /* memory usage is as follows: - [VM memory - 600K] - [Framebuffers - 128K] - [Temporary framebuffer - 192K] - [String table buffer] - */ + /* memory usage is first statically allocated, then the remainder is used dynamically: + * static: + * [VM memory - 600K] + * [Framebuffers - 128K] + * [Temporary framebuffer - 192K] + * dynamic: + * [String table buffer] + */ res->_memPtrStart = rb->plugin_get_audio_buffer(&sz); if(sz < MEM_BLOCK_SIZE + (4 * VID_PAGE_SIZE) + 320 * 200 * sizeof(fb_data)) { -- cgit v1.2.3