From c58c0dc40c1288b5fd5d9e06667e40afd6465a1d Mon Sep 17 00:00:00 2001 From: aliaspider Date: Mon, 9 Nov 2015 21:47:09 +0100 Subject: (3ds) fix build. add a frameskip build option for testing. --- libretro/libretro.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/libretro/libretro.c b/libretro/libretro.c index b7aa69b..930053b 100644 --- a/libretro/libretro.c +++ b/libretro/libretro.c @@ -26,8 +26,8 @@ #include "../src/os9x_asm_cpu.h" #ifdef _3DS -extern "C" void* linearMemAlign(size_t size, size_t alignment); -extern "C" void linearFree(void* mem); +void* linearMemAlign(size_t size, size_t alignment); +void linearFree(void* mem); #endif #define MAP_BUTTON(id, name) S9xMapButton((id), S9xGetCommandT((name)), false) @@ -391,14 +391,26 @@ static void report_buttons (void) } } +//#define FRAME_SKIP + void retro_run (void) { +#ifdef FRAME_SKIP + IPPU.RenderThisFrame = !IPPU.RenderThisFrame; +#else IPPU.RenderThisFrame = TRUE; +#endif + S9xMainLoop(); // asm_S9xMainLoop(); S9xMixSamples(audio_buf, avail); audio_batch_cb((int16_t *) audio_buf, avail >> 1); +#ifdef FRAME_SKIP + if(!IPPU.RenderThisFrame) + video_cb(NULL, IPPU.RenderedScreenWidth, IPPU.RenderedScreenHeight, GFX_PITCH); +#endif + poll_cb(); report_buttons(); -- cgit v1.2.3