libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
112 stars 60 forks source link

Feature Request & Bug Report: Android User, 1.9.6 #443

Closed EmpireFaust closed 3 years ago

EmpireFaust commented 3 years ago

First, the bug report (though the bug itself is not what ultimately drew me to post): I had an entire library of good .adf files that were all set up with working .m3u's. All of this worked perfectly as of about six months ago, but it took me a while to get back to PUAE, so I can't say where it happened. But as of this week, none of those files work anymore, though nothing has changed except Retroarch.

So now, that leads into the feature request: I was recommended by Google to try the prepackaged WHDLoad .lha library with PUAE instead. I did this, and all but two of the .lha's I have tried worked perfectly. Super Street Fighter II' The New Challengers & Super Street Fighter II' Turbo both have a memory error when loaded into PUAE. They each need up to 1.5mb of slow RAM in addition to the embedded 2mb/8mb. I know this, specifically, because I tested with UAE4arm and added that extra 1.5mb of memory to an otherwise basic emulated 2mb/8mb A1200 and was successful with the un-lha'ed versions of those same files.

Please and thank you for all of your work, you're doing the Lord's work!

sonninnos commented 3 years ago

I haven't had issues with M3Us, so please post the verbose log of an unsuccessful launch. Are the paths absolute or relative?

I'm getting just a black screen with WHDLoad version of New Challengers, but (luckily) the regular HD installed HDF version does work, but the WHDLoad versions of Turbo are launching fine with default settings. Only need to switch to CD32 pad to actually play it.

Adding bogomem isn't helping here though, as it should not, since AGA machines do not have slow RAM, and slow and fast can't really coexist. If it does help in emulation, then surely that is a fault of the emulation.

You can test it by creating puae_libretro_global.uae to saves and adding bogomem_size=6 (2=0.5, 4=1, 6=1.5).

There are lists here in issues for known WHDLoad problem cases, and that situation most likely isn't going to change until and if a proper rebasing of a more current (Win)UAE gets done. The compatibility is already pretty good, and the ones that aren't working aren't exactly motivational showcase material..

EmpireFaust commented 3 years ago

ssf2turbo - retroarch2021_07_2418_50_39.log m3u error - retroarch2021_07_2418_58_36.log SSF2TNCAGA-210724-185355 SSF2TAGA-210724-185059 Super Street Fighter II Turbo-210724-185913 ssf2tnc - retroarch2021_07_2418_53_28.log

There are my verbose logs for both problems along with acoompanying screenshots

sonninnos commented 3 years ago

These are working here:

Super Street Fighter II - The New Challengers AGA.hdf: retroarch_2021_07_25_03_04_05_383

SuperStreetFighter2Turbo_v1.1_AGA_0735.lha: retroarch_2021_07_25_02_58_16_888

And that M3U error is a CAPS library error, as in the disks are IPF, not ADF:

DLOPEN: dlopen failed: library "/storage/emulated/0/RetroArch/system/capsimg.so" needed or dlopened by "/data/data/com.retroarch.aarch64/cores/puae_libretro_android.so" is not accessible for the namespace "classloader-namespace"
DLOPEN: Failed to open /storage/emulated/0/RetroArch/system/capsimg.so
Unable to open capsimg.so
Failed to load CAPS plug-in.
This disk image needs the C.A.P.S. plugin which is available from http://www.softpres.org/download

The correct version of the library has to be in the executable directory in Android, and AFAIK that is only currently possible with rooting.

EmpireFaust commented 3 years ago

retroarch2021_07_2420_54_37.log I assure you that it stalls out, also, with .adf m3u's, as seen here

sonninnos commented 3 years ago

"Stalls out" how? Happens with all games/ADFs? The log reveals nothing odd except the amount of disks (11) which will not be fun juggling with the maximum of 4 drives even if it does work.

IPF version of New Challengers boots fine: retroarch_2021_07_25_14_42_57_568

But disk version of Turbo does not boot at all with any disk, since it requires hard disk installing, so that looks like your problem.

You need to enable "Global Boot HD" core option and install Workbench to be able to do HD installing: retroarch_2021_07_25_14_48_01_769

retroarch_2021_07_25_14_50_48_979

retroarch_2021_07_25_14_51_26_321

Or just try finding that pre-installed HDF version that I mentioned.

EmpireFaust commented 3 years ago

I used the street fighter II variants as demonstratives because I had them all handy in the same place, but EVERY .adf (and .ipf, but I see now what the problem is with those, thank you) that I have tried results in the "insert disk" bootup screen, for either A1200 or A500 depending on what the core detects the game needs. That's the thing: it clearly DETECTS the games, and I can use the "disc control" menu to swap them around, but I ALWAYS end up with a boot screen like you see in my last screenshot above.

sonninnos commented 3 years ago

I just showed that Turbo is supposed to do that. It requires installing to HD and will not boot from floppies.

EmpireFaust commented 3 years ago

retroarch2021_07_2519_28_17.log Here's an example of the problem using Battle Chess II, a fairly simple 2 .adf game.

sonninnos commented 3 years ago

Log shows nothing weird and I have no problem running that particular game either.

EmpireFaust commented 3 years ago

That's quite weird and leaves me with the feeling that my phone itself is to blame somehow. Strange. And yeah, the preinstalled .hdf versions of both of the SSF2s actually work fine. I also should mention that the boot-screen problem is m3u-specific. Loading directly from the .adf works fine.

sonninnos commented 3 years ago

The log says it parses the M3U fine though, so I have no idea where to begin.. Very likely again a random symptom caused by some random memory leak(s).

Test what happens when the core generates a M3U by putting all disks in a single ZIP/7z and launching it. The output will be in saves/TEMP/ while the core is running, as in they are removed on exit.

sonninnos commented 3 years ago

I found some ugliness in the M3U parsing parts, so please test if anything has changed.