Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
mGBA got stuck on libretro
#1
I compiled mGBA as a libretro core and rans on RetroARCH (ARMv7 + OpenGLES + EGL + DRM/KMS + toolchain:arm-linux-gnueabi without hard float).

Core and ROM was loaded successfully, but it hangs on a white screen and didn't  responds any inputs.
   
I added some debug log prints on RetroArch source codes and I found that the main loop of RetroARCH stucks on core_run function, that is why RetroARCH can not response all input events.
I also added debug log prints into mGBA source codes:
Code:
static void _GBACoreRunFrame(struct mCore* core) {
    struct GBA* gba = core->board;
    int32_t frameCounter = gba->video.frameCounter;
    printf("TJDEBUG %s %d: frameCounter = %d\n", __func__, __LINE__, frameCounter);
    while (gba->video.frameCounter == frameCounter) {
        ARMRunLoop(core->cpu);
    }
    printf("TJDEBUG %s %d: video.frameCounter = %d\n", __func__, __LINE__, gba->video.frameCounter);
}

The result shows that when frameCounter equals 6, core will run infinitely at ARMRunLoop(core->cpu);, can not break out the while loop.

This problem has been bothering me for a while, and I would be grateful if someone could give me some ideas to debug the issues.

Thank you!
Reply



Messages In This Thread
mGBA got stuck on libretro - by winktj - 08-23-2018, 03:27 AM
RE: mGBA got stuck on libretro - by endrift - 08-23-2018, 04:47 AM
RE: mGBA got stuck on libretro - by winktj - 08-23-2018, 05:45 AM
RE: mGBA got stuck on libretro - by winktj - 08-31-2018, 02:14 AM

Forum Jump:


Users browsing this thread:
1 Guest(s)

Powered By MyBB, © 2002-2024 Melroy van den Berg.