libretro / beetle-ngp-libretro

Standalone port of Mednafen NGP to the libretro API, itself a fork of Neopop.
GNU General Public License v2.0
11 stars 43 forks source link

[Android] Hanging with SNK Gals' Fighters (USA, Europe) #43

Closed sergiobenrocha2 closed 3 years ago

sergiobenrocha2 commented 6 years ago

SNK Gals' Fighters (USA, Europe) is hanging in the fighting, I can reproduce it only on Android. I played this game a lot and I don't remember it hanging there, at least some commits ago.

Some elements in the scene continues, and you can listening the music.

Tried other games like Sonic and Last Blade, it's working there.

CRC B02C2BE7

Happening with b2b5c2c commit

sergiobenrocha2 commented 6 years ago

https://youtu.be/BENwBz_-N9Q

leoxxx commented 6 years ago

http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/mednafen_ngp_libretro_android.so.zip Update this core.

andres-asm commented 6 years ago

What are you asking?

On Wed, Oct 24, 2018, 3:28 AM leoxxx notifications@github.com wrote:

http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/mednafen_wswan_libretro_android.so.zip Update this core.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/libretro/beetle-ngp-libretro/issues/43#issuecomment-432562066, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0L1uL0FDPFh-_ElAtXDurlOMnAISks5uoCSigaJpZM4Tkbwn .

leoxxx commented 6 years ago

What are you asking? On Wed, Oct 24, 2018, 3:28 AM leoxxx @.***> wrote: http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/mednafen_wswan_libretro_android.so.zip Update this core. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#43 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0L1uL0FDPFh-_ElAtXDurlOMnAISks5uoCSigaJpZM4Tkbwn .

It's not my question. I tell sergiobenrocha2 update this core can slove it.

leoxxx commented 6 years ago

I test again. When Athena throw someone, it must freeze.

sergiobenrocha2 commented 6 years ago

Still an issue here

marcrobledo commented 5 years ago

Could this be this related to #46? It happens exactly the same: game doesn't play, but music keeps playing and the emulator does not freeze. And it only happens when the savegame gets too big.

stellarporter commented 5 years ago

@sergiobenrocha2 Still happens with this https://github.com/libretro/beetle-ngp-libretro/commit/b2b5c2c421df5784791ced965b1e373b9ffd5ab6 and not previous one https://github.com/libretro/beetle-ngp-libretro/commit/a0bf6d1a7bebb10ce501b29d30917c826f742595?

sergiobenrocha2 commented 5 years ago

Still an issue on 9f89a80

sergiobenrocha2 commented 5 years ago

Oh those commit are from months ago, sorry, I can't test them

stellarporter commented 5 years ago

Okay. I think I got working Android builds this time. Keep testing until you find a working one.

https://github.com/libretro/beetle-ngp-libretro/commit/a0bf6d1a7bebb10ce501b29d30917c826f742595 https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23208884/artifacts https://github.com/libretro/beetle-ngp-libretro/commit/9d854f95d2b6fb5b0a0cf07be09725a27467d5c6 https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23208898/artifacts https://github.com/libretro/beetle-ngp-libretro/commit/15951acca51d9bb25ff54a1e2f41f1ad9bed96ea https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23208899/artifacts https://github.com/libretro/beetle-ngp-libretro/commit/d85b27db96fd4239c1d1f256ff87887bf2d06313 https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23208907/artifacts https://github.com/libretro/beetle-ngp-libretro/commit/b062b0c1455cf9a69614a4b32304cb278cbe2aad https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23208913/artifacts

appveyor.yml for android

image: Visual Studio 2017

shallow_clone: true

environment:
  ANDROID_NDK17: 'C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r17'

init:
- set Path=%ANDROID_NDK17%;%Path%

build_script:
  - cd jni && ndk-build

artifacts:
  - path: 'libs\**\*.so'
leoxxx commented 5 years ago

Test all armv7 cores. a0bf6d1 & 9d854f9 crash when load roms. Others can load roms, but still have issue. This issue only on android. NGP.EMU also has. I find Athena other actions will casued hang. PSYCHO SWORD&PHOENIX ARROW.

stellarporter commented 5 years ago

Could you also try these builds? According to OP, it was working awhile ago so maybe these pass? https://github.com/libretro/beetle-ngp-libretro/issues/47#issuecomment-474652982

leoxxx commented 5 years ago

Yes. Work but still hang.

stellarporter commented 5 years ago

mem = pc + (int16)fetch16();

Compiler is free to execute two ways:

  1. msvc: fetch16. pc += 2. mem = pc + disp16. okay.
  2. clang: fetch16. mem = pc + disp16. pc += 2. crash.

We force path1 by doing this:

int16 disp = fetch16();
mem = pc + disp;

edit: I'd better tell Mednafen about this.

stellarporter commented 5 years ago

@sergiobenrocha2 @leoxxx You can try this test build (latest master git + SNK Gals Fighters). Works on droid x86 and appears to be same issue with armv7 (same compiler). https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23427255

Make sure old core files {mednafen_ngp_libretro_android.so, libretro.so} are deleted first before testing this one.

leoxxx commented 5 years ago

@stellarporter 23442550 fix the issue(Maybe. I test in a short time.). So I don't test this.

stellarporter commented 5 years ago

@leoxxx That's good news. Both builds include same fix, so only 1 is needed. https://github.com/libretro/beetle-ngp-libretro/pull/58

https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23427255 (no log) https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23442550 (log)

leoxxx commented 5 years ago

@stellarporter

mem = pc + (int16)fetch16();

Compiler is free to execute two ways:

1. msvc: fetch16. pc += 2. mem = pc + disp16. okay.

2. clang: fetch16. mem = pc + disp16. pc += 2. crash.

We force path1 by doing this:

int16 disp = fetch16();
mem = pc + disp;

edit: I'd better tell Mednafen about this.

Can this code help NGP.EMU to fix the issue?

stellarporter commented 5 years ago

@leoxxx Exactly same bug and fix.

leoxxx commented 5 years ago

@sergiobenrocha2 https://ci.appveyor.com/project/stellarporter/beetle-ngp-libretro/builds/23475238/artifacts Please try this one. Others are invalid. update 0da9213

ghost commented 5 years ago

Upstream fixed this and currently merged into libretro.

ghost commented 4 years ago

Tested latest on Android and this bug does not crash libretro, so looks fixed.