pegasus-frontend
pegasus-frontend copied to clipboard
PS2 game still can't start from Pegasus
The issue
I tried to start aethersx2 from Pegasus , although I successfully started aethersx2. But the emulator only stays in the BIOS interface, which is the interface that asks me to insert the CD. photo:https://drive.google.com/file/d/1PcCGsIFT7yCpPXKu-SjBk1_q1xCWFWgL/view?usp=sharing
System info
https://drive.google.com/file/d/1szRk9rsNsJmGj8IDdetJFwZND8oI-Q_t/view?usp=sharing
lastlog:
2022-03-29T15:33:58 [i] Executing command: [am
,start
,-n
,xyz.aethersx2.android/.EmulationActivity
,-a
,android.intent.action.MAIN
,-e
,bootPath
,/storage/emulated/0/ROMS/PS2/Dynasty Warriors 5 - Empires (Europe, Australia).iso
,--activity-clear-task
,--activity-clear-top
,--activity-no-history
]
2022-03-29T15:33:58 [i] Working directory: /storage/emulated/0/ROMS/PS2
2022-03-29T15:33:58 [i] Activity finished
my metadata.txt: https://drive.google.com/file/d/1UQBhux6KY2wraShXHOxr0flylc9Jl8YJ/view?usp=sharing collection: PlayStation 2 shortname: ps2 extensions: bin, chd, ciso, cso, cue, dump, elf, gz, img, iso, isz, m3u, mdf, nrg launch: am start -n xyz.aethersx2.android/.EmulationActivity -a android.intent.action.MAIN -e bootPath "{file.path}" --activity-clear-task --activity-clear-top --activity-no-history
game: Dynasty Warriors : Gundam 2 file: ./Dynasty Warriors Gundam2.iso developer: OMEGA Force publisher: Koei genre: Beat'em Up description: Dynasty Warriors: Gundam 2 combines the devastating power of the mobile suit, the rich legacy of the anime Gundam universe, and the furious tactical action gameplay of the Dynasty Warriors series. For the first time, engage in melee battles against colossal enemies such as the Psycho Gundam who can quickly reconfigure their bodies into titanic mobile fortresses. Prepare to head off into the furthest reaches of space and wage war against legions of enemy mobile suits. release: 2009-04-21 players: 2 x-id: 22408 x-source: ScreenScraper.fr assets.boxfront: ./media/box2dfront/Dynasty Warriors Gundam2.png
Pegasus version
Alpha 16(2022-3-21)
Pegasus log
https://drive.google.com/file/d/1szRk9rsNsJmGj8IDdetJFwZND8oI-Q_t/view?usp=sharing
Hi, have you tried using {file.documenturi}
or {file.uri}
in your launch command? Can aethersx2 open the file on its own?
Hi, have you tried using
{file.documenturi}
or{file.uri}
in your launch command? Can aethersx2 open the file on its own
yes ,using both tabs I can't even get into the emulator https://drive.google.com/file/d/1GiMNj1VwdGWBClxgKxbnVK0PMi-NgAcZ/view?usp=sharing
BTW I put the ROM inside the phone instead of the SD card, does it make a difference?
/storage/emulated/0/ROM/PS2/
I've heard it does matter, some programs can only access either the internal or the external storage properly, or only their own data directory with recent Androids, when the launched file comes as an argument.
I've heard it does matter, some programs can only access either the internal or the external storage properly, or only their own data directory with recent Androids, when the launched file comes as an argument.
Unfortunately, I put the ROM on the SD card and still can't start the game, which means the location of the ROM is irrelevant. The problem is back to square one.
Hm, in this case I'd recommend asking around on Discord; I'm not familiar enough with Aethers, but perhaps someone else has run into this issue before.
the uri create by pegasus is wrong,i fixed it by setting the correct uri in launch segment for every rom
Could you tell us more details? Would you have an example for an incorrectly generated path, and its corrected version?
such as rom on my device in sdcard:/storage/9C33-6BBD/Roms/PS2/战神2.chd
the uri generate by pegasus and the uri read in aethersx2
Here it is not working in the latest version of pegasus, only in this one, follow the execution configuration this version work alpha15-135-gd1e90e77
collection: Sony Playstation 2
shortname: ps2
extensions: chd, cso
command: am start
-n xyz.aethersx2.android/.EmulationActivity
-a android.intent.action.MAIN
-e bootPath {file.documenturi}
--activity-clear-task
--activity-clear-top
--activity-no-history
This log is the version with work
2022-04-09T07:50:04 [i] Executing command: [am
,start
,-n
,xyz.aethersx2.android/.EmulationActivity
,-a
,android.intent.action.MAIN
,-e
,bootPath
,content://com.android.externalstorage.documents/tree/primary%3Aroms%2FSony%20Playstation%202/document/primary%3Aroms%2FSony%20Playstation%202%2FFinal%20Fantasy%20X%20International.chd
,--activity-clear-task
,--activity-clear-top
,--activity-no-history
]
2022-04-09T07:50:04 [i] Working directory: /storage/emulated/0/roms/Sony Playstation 2
the uri create by pegasus is wrong,i fixed it by setting the correct uri in launch segment for every rom
Hello can you post an example of the launch you use, thanks
As stated earlier in the thread by allenz8512 the issue is that the document uri is hardcoded to use the primary storage so it wont launch games on an sd card (may not be an issue if it is formatted as internal storage, mine is set as external to be able to manage roms with an sd card reader).
When creating a shortcut on the home screen in aetherSX2 to launch a ROM directly the document uri is formatted as:
content://com.android.externalstorage.documents/tree/1111-2222%3ARetroidPocketGames%2FROMs%2FPS2/document/1111-2222%3ARetroidPocketGames%2FROMs%2FPS2%2FLord%20of%20the%20Rings%2C%20The%20-%20The%20Return%20of%20the%20King%20(Europe)%20(En%2CNl%2CPt%2CSv%2CPl).iso
Where 1111-2222
is the volume serial number (this can be found using a file manager)
I could then launch the app through adb using the command:
am start -n xyz.aethersx2.android/.EmulationActivity -a android.intent.action.MAIN -e bootPath content://com.android.externalstorage.documents/tree/1111-2222%3ARetroidPocketGames%2FROMs%2FPS2/document/1111-2222%3ARetroidPocketGames%2FROMs%2FPS2%2FLord%20of%20the%20Rings%2C%20The%20-%20The%20Return%20of%20the%20King%20(Europe)%20(En%2CNl%2CPt%2CSv%2CPl).iso --activity-clear-task --activity-clear-top --activity-no-history
I've worked around this for now by setting my launch options to have the correctly formatted document uri with {file.name}
to replace the file name.
The only issue is that you need to remove all spaces and symbols from the rom file (that would be usually url encoded)
e.g. I changed Lord of the Rings, The - The Return of the King (Europe) (En,Nl,Pt,Sv,Pl).iso
to LordoftheRingsTheTheReturnoftheKingEuropeEnNlPtSvPl.iso
This issue could potentially be fixed by detecting if the path is located in an external drive in the function
// Located in: src/backend/platform/AndroidHelpers.cpp
QString to_document_uri(const QString& path)
and formatting the uri appropriately
for completeness here is my currently working metadata.pegasus.txt
collection: PlayStation 2
shortname: ps2
extensions: chd, ciso, cso, cue, dump, elf, gz, img, iso, isz, m3u, mdf, nrg
launch: am start
-n xyz.aethersx2.android/.EmulationActivity
-a android.intent.action.MAIN
-e bootPath "content://com.android.externalstorage.documents/tree/1111-2222%3ARetroidPocketGames%2FROMs%2FPS2/document/1111-2222%3ARetroidPocketGames%2FROMs%2FPS2%2F{file.name}"
--activity-clear-task
--activity-clear-top
--activity-no-history
you will most likely need to change the uri but here is it's format:
"content://com.android.externalstorage.documents/tree/<volume-id>%3A<url_encoded_folder_path>/document/<volume-id>%3A<url_encoded_folder_path>%2F{file.name}"
where:
<volume-id>
is in the format nnnn-nnnn
<url_encoded_folder_path>
is the url ended path of the folder which holds the rom (path can be used by using a url encoder (such as this one)
e.g. a volume id of: 1234-5678 and rom path of Emulation/ROMs/PS2
on the sd card becomes:
content://com.android.externalstorage.documents/tree/1234-5678%3AEmulation%2FROMs%2FPS2/document/1234-5678%3AEmulation%2FROMs%2FPS2%2F{file.name}
Hopefully this can help someone else
Document URIs should be now fixed, could you try the the latest version?