Introducing ODROID-GO Advance Multiplayer Preview

Game ROMs compatibility, performance and new cores
Josh86
Posts: 96
Joined: Fri Jan 17, 2020 4:24 am
languages_spoken: english
Has thanked: 11 times
Been thanked: 13 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Josh86 »

crashoverride wrote:
Sat Oct 03, 2020 4:23 pm
The feature is only enabled for RetroRun and mgba. RetroRun hosts many systems while mgba hosts all three GameBoy systems (GB/GBC/GBA).
I guess I don't understand what you saying here. I assume all libretro cores through your retrorun front-end are supposed to work (mgba, genesisplus, snes9x, etc). You called out Retrorun and mgba separately above. Is mgba not implemented as a libretro core under your front-end like the others? Are the implemented libretro cores the ones not working consistently then if that's the case?

I am aware that mupen64p and reicast are likely implemented separately, as well (or not, but I assume they are for performance? Would be the flycast core anyway, if so).

Just want to be clear (and am curious) on how it's all organized and what systems are affected. I'm not versed well enough to look through any of the code on github or even the filesystem on the device to immediately see that.

crashoverride
Posts: 5428
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 471 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by crashoverride »

Josh86 wrote:
Mon Oct 05, 2020 11:36 pm
Are the implemented libretro cores the ones not working consistently then if that's the case?
RetroRun is a libretro host custom written for GO-Advance (by me). The "F1" issue affects the emulators using it:
* Atari 2600
* Atari 5200
* Sega Master System
* Sega Megadrive/Genesis
* Sega CD
* Nintendo Entertainment System
* Super Nintendo
* Turbografx 16
* Turbografx 16 CD
* MAME2000
* MAME2003 Plus
* PlayStation
* Dreamcast (does not have save state capability. included in this list for completeness)

The GameBoy systems use a standalone emulator: mgba (code posted on my github). This was done for performance (GBA) and presentation (pixel perfect scaling) reasons.

N64 and PSP are also standalone emulators (mupen64plus / PPSSPP also on my github). This was done for performance reasons.

Atari7800 is also a standalone emulator. This was done since I was unable to get sound output using the libretro core version. I have since determined the issue is due to its use of a legacy libretro sound API and corrected the issue. It remains standalone today as a simple demonstration of using the libgo2 API.

Adding multiplayer support requires additional code for an emulator. For RetroRun, this was strait forward as the multiplayer system was also written by me. For mupen64plus, it was daunting due to the complex execution path. For PSP, its not possible since it is a single player system (no second controller). The libretro version of Atari7800 will likely be used in the future for multiplayer support via RetroRun.

The "F1" (override save state) feature is intended to be temporary. A future version of RetroRun will include a menu and offer save state management. Since this requires a GUI library, it was postponed until either an existing GUI library can be selected or a custom library written. The menu is expected to replace all "hot keys" and additionally offer "disk change" support. There is currently no schedule for when this change will take place.
These users thanked the author crashoverride for the post:
Josh86 (Tue Oct 06, 2020 12:39 am)

Josh86
Posts: 96
Joined: Fri Jan 17, 2020 4:24 am
languages_spoken: english
Has thanked: 11 times
Been thanked: 13 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Josh86 »

I appreciate all the detailed explanation for how it's all been implemented.
A future version of RetroRun will include a menu and offer save state management
I know you don't have a set schedule -- but that's great to know. I plan on giving the two 1.0 units to my kids as gifts for the holiday and the streaming feature is awfully nice. Things that might have prevented me from using it over something like Batocera is in-game hot key support, save states, etc. Looking forward to future updates.

Veuks
Posts: 13
Joined: Sat Mar 14, 2020 7:00 pm
languages_spoken: english français
ODROIDs: Odroid Go Advance / Odroid N2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Veuks »

@crashoverride it's impossible to scrap MAME2003 PLUS... It's considered as "not have a platform set", then "no games were scraped" and 2 systems are visible in ES, MAME2003 PLUS, and MAME2003 PLUS (PORTRAIT) with exactly same games (and I don't have games in portrait format).

crashoverride
Posts: 5428
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 471 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by crashoverride »

Veuks wrote:
Sun Nov 29, 2020 2:58 am
it's impossible to scrap MAME2003 PLUS
Scraping is not supported. This is because the servers and resources that are required are not under my control causing scraping to break frequently. I suggest using an external scraping tool like "skyscraper".
Veuks wrote:
Sun Nov 29, 2020 2:58 am
MAME2003 PLUS, and MAME2003 PLUS (PORTRAIT) with exactly same games (and I don't have games in portrait format).
This is expected. Both menu items use the same roms folder. So, they should show the exact same list. This is work around until MAME2003 Plus (Libretro) is fixed to report the correct aspect ratio as MAME2000 already does.

Veuks
Posts: 13
Joined: Sat Mar 14, 2020 7:00 pm
languages_spoken: english français
ODROIDs: Odroid Go Advance / Odroid N2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Veuks »

crashoverride wrote:
Sun Nov 29, 2020 4:10 am
Veuks wrote:
Sun Nov 29, 2020 2:58 am
it's impossible to scrap MAME2003 PLUS
Scraping is not supported. This is because the servers and resources that are required are not under my control causing scraping to break frequently. I suggest using an external scraping tool like "skyscraper".
Yet I succeeded on all other systems by ES directly.

For mame2003plus I already have the images and tried to create the mame2003plus folder myself, in /odroid/.emulationstation/downloaded_images but I don't have permission. Likewise, to modify the gamelist.xml, it is locked.

crashoverride
Posts: 5428
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 471 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by crashoverride »

Veuks wrote:
Sun Nov 29, 2020 4:37 am
Yet I succeeded on all other systems by ES directly.
The ES used by the Reference Image is a custom fork. It contains patches specifically for GO-Advance such as the title bar at the top. Every time a scraper changes its API, ES needs to be updated and re-patched. Others have team members and donations to facilitate this. I do not. External scrapers exist to provide this functionality, but it is left as an exorcise for the user.
Veuks wrote:
Sun Nov 29, 2020 4:37 am
For mame2003plus I already have the images and tried to create the mame2003plus folder myself, in /odroid/.emulationstation/downloaded_images but I don't have permission.
The Reference Image supports the use of "sudo" (super user). This can be used to modify or change permissions for anything. Also note that the "home" directory is located at "/home/odroid".

The Reference Image is limited in features by design. This ensures a simple starting point for users and a consistent basis for resolving issues. Many other images are available to supply advanced features not provided by the Reference Image.

[edit]
I should also note that the ES fork is open source. It is possible for users or community members to make any changes they desire.
https://github.com/OtherCrashOverride/e ... tation-go2

Veuks
Posts: 13
Joined: Sat Mar 14, 2020 7:00 pm
languages_spoken: english français
ODROIDs: Odroid Go Advance / Odroid N2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Veuks »

Ok i will try with "sudo" thank you crashoverride

Veuks
Posts: 13
Joined: Sat Mar 14, 2020 7:00 pm
languages_spoken: english français
ODROIDs: Odroid Go Advance / Odroid N2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Veuks »

Great, I managed to manually edit the gamelist file. One last question, is it possible to hide manually MAME(PORTRAIT) from the ES system list ?

crashoverride
Posts: 5428
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 471 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by crashoverride »

Veuks wrote:
Sun Nov 29, 2020 7:28 am
is it possible to hide manually MAME(PORTRAIT) from the ES system list ?
Remove the entry from the /etc/emulationstation/es_systems.cfg file.

Veuks
Posts: 13
Joined: Sat Mar 14, 2020 7:00 pm
languages_spoken: english français
ODROIDs: Odroid Go Advance / Odroid N2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Veuks »

crashoverride wrote:
Sun Nov 29, 2020 8:29 am
Veuks wrote:
Sun Nov 29, 2020 7:28 am
is it possible to hide manually MAME(PORTRAIT) from the ES system list ?
Remove the entry from the /etc/emulationstation/es_systems.cfg file.

I can't save the change, and I can't change permissions on ROOT...

crashoverride
Posts: 5428
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 471 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by crashoverride »

Veuks wrote:
Sun Nov 29, 2020 8:43 am
can't change permissions on ROOT...
The following will grant full permissions to everyone:

Code: Select all

sudo chmod a+rw /etc/emulationstation/es_systems.cfg

Veuks
Posts: 13
Joined: Sat Mar 14, 2020 7:00 pm
languages_spoken: english français
ODROIDs: Odroid Go Advance / Odroid N2
Has thanked: 1 time
Been thanked: 0
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Veuks »

crashoverride wrote:
Sun Nov 29, 2020 9:51 am
Veuks wrote:
Sun Nov 29, 2020 8:43 am
can't change permissions on ROOT...
The following will grant full permissions to everyone:

Code: Select all

sudo chmod a+rw /etc/emulationstation/es_systems.cfg

Really thank you for your support, I have 2 OGA and I love the work you did on the multiplayer.

Christian_Haitian
Posts: 61
Joined: Sat Nov 10, 2018 10:40 pm
languages_spoken: english
ODROIDs: Go, Go Advance
Has thanked: 26 times
Been thanked: 44 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by Christian_Haitian »

Hello, Is this still under active development? If so, will it be open sourced?

Thank you,
A jack of all trades is a master of none, but oftentimes better than a master of one

crashoverride
Posts: 5428
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 471 times
Contact:

Re: Introducing ODROID-GO Advance Multiplayer Preview

Post by crashoverride »

Christian_Haitian wrote:
Sat Sep 04, 2021 2:06 am
Hello, Is this still under active development?
Yes, it is still being actively developed. Over the summer, multiplayer was integrated with libgo2 (but not released yet). This importance of this architectural change was eliminating the need for multi-player enabled versions of software. Now, anything that supports libgo2 automatically becomes multiplayer enabled if it supports more than one player. Another change was in the way aspect ratio is handled. In order to support the hardware codecs of other SoCs, it was necessary to encode the aspect ratio in the elementary data stream. Ironically, this turned out to be far from trivial and required patches to the encoder library. Further testing revealed that some devices did not properly handle "extended" aspect ratios and correction was moved to the encoded image instead (lots of trial and error on that feature).

The integration with libgo2 also brought to light the need for further development. Before, multiplayer was explicit: a user determined when it was enabled by launching in multiplayer mode. Now, it is "always on": even the EmulationStation menu appears on the other device. The main device is effectively always mirrored to the other device. This means there now needs to be a method to control access (pairing) and to enable/disable the feature.
Christian_Haitian wrote:
Sat Sep 04, 2021 2:06 am
If so, will it be open sourced?
Since there is no longer any need to modify software to support multiplayer, source code has no relevance to the feature.
These users thanked the author crashoverride for the post:
Christian_Haitian (Sat Sep 04, 2021 9:55 am)

Post Reply

Return to “Game emulations”

Who is online

Users browsing this forum: No registered users and 1 guest