tiduscrying / MiniUI-Extra-Extras

Extra Retroarch cores for MiniUI on the Miyoo Mini
38 stars 3 forks source link

MiniUI to MinUI compatibility #29

Open novamaru opened 3 months ago

novamaru commented 3 months ago

I got some of the Extra-Extra paks working on my Miyoo Mini using the MiniUI, but I can't get some of them to work on the newer MinUI, and I'm at a loss for why.

I am mainly just trying to run a few fighting games using CPS1, CPS2, CPS3, and FBA. I could not get CPS1 to run any games at all. On MiniUI, I could not get CPS1 to work at all, but the work fine for most games I had. The newer MinUI has a different file architecture, but after comparing them I eventually figured out that they are similar, except:

So I modified the MiniUI launch scripts to remove the large ROM messages and just set it to call need-swap directly, as shown in the example below.

#!/bin/sh

EMU_EXE=fbalpha
CORES_PATH=$(dirname "$0")

###############################

EMU_TAG=$(basename "$(dirname "$0")" .pak)
ROM="$1"
mkdir -p "$BIOS_PATH/$EMU_TAG"
mkdir -p "$SAVES_PATH/$EMU_TAG"
HOME="$USERDATA_PATH"
cd "$HOME"
needs-swap

nice -20 minarch.elf "$CORES_PATH/${EMU_EXE}_libretro.so" "$ROM" &> "$LOGS_PATH/$EMU_TAG.txt"

Then I placed them in the Emus subfolder to install them with MinUI. (This requires them to be on the SD card at the time of initial installation, which wasn't obvious from the many versions of instructions.) And this approach seems to have generally worked, because CPS2 works on MinUI just like it did on MiniUI. However, CPS3 and FBA do not; the games never load and the Miyoo Mini device is frozen until I pull the battery out. Looking at the logs, it seems to be a core dump. It does this for both emulator whether or not the need-swap option is used, but seems like it crashes prior to reaching this step. Here are example logs showing CPS2 working and CPS3 crashing:

CPS2.txt CPS3.txt minui.txt

One other difference I noticed in the new MinUI paks versus the old MiniUI ones is that the new ones all come with a default.cfg file. And there were some instructions on how to create a new config file for a DIY pak by copying some minarch.cfg example out of ./userdata, but those seem to be out of date because I couldn't find any such file. I'd be surprised if paks wouldn't working with this file, but maybe this might explain something. I tried creating configs in MiniUI (picoarch.cfg) and using them to make default.cfg, which didn't crash, but it did prevent all of the bindings from being assigned, so it seems that these are not in the same format for MinUI.

Anyway, I'm way out of my depth at this point, so I'm sort of asking for ideas but also just sharing what I learned in case its helpful for anyone else who has the same questions.