libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.31k stars 1.83k forks source link

Android: RA sending raw zipped roms to core. #8536

Closed stellarporter closed 2 years ago

stellarporter commented 5 years ago

Opening this issue for user @leoxxx. https://github.com/libretro/beetle-ngp-libretro/issues/47

Description

It's been discovered that the Android frontend sometimes correctly unzips the rom and sends it over to the core for loading. But for several zipped roms, it skips the unpacking process and transfers a raw PK binary, which soft crashes the core. Compiling core with LOAD_FROM_MEMORY flag didn't work either.

These same zipped roms work with Android NGP.EMU and NEOPOP emulators.

If the problem roms are unzipped first and loaded as raw ngc roms, they startup fine.

I cannot repo this on Windows.

Expected behavior

Loading any valid zipped rom should boot and play correctly.

Actual behavior

Some zipped roms just hang the emulator on a white screen.

Steps to reproduce the bug

  1. Load core. Select mednafen_ngp_libretro_android.so
  2. Load content. Select one of the following zip games: Neo Geo World Cup 98 Plus SNK Vs Capcom - Card Fighters Clash - Capcom Version Dark Arms - Beast Buster 1999 Dive Alert - Burn Edition Dive Alert - Rebecca Version Densha De Go! 2
  3. Hang on white screen

Bisect Results

N/A. Ask @leoxxx for information about previous RA builds.

Version/Commit

Using nightly buildbot for Retroarch and mednafen_ngp_libretro_android.so (armeabi-v7).

Environment information

stellarporter commented 5 years ago

@leoxxx Would you mind trying a few stable Android Retroarch builds from 1.7.4, 1.7.5, 1.7.6 and confirm whether the problem still exists?

leoxxx commented 5 years ago

@stellarporter I'm using the 1.7.5 stable now. The issue exists. Waitting for the 1.7.7. Retroarch or core don't support zipped .npc roms. Renaming them can solve it. https://github.com/libretro/beetle-ngp-libretro/issues/47#issuecomment-478314693 Maybe it's casued by the core info.

hizzlekizzle commented 5 years ago

@retro-wertz just added the npc extension to the core's supported extensions, which is probably why there was an issue. Does it work properly now?