Homebrew Unofficial 3DS RetroArch builds

Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,855
Country
United States
On the 3DS? I'm running justin's latest custom cores from this thread
end_drift releases her emulator as separate .3DSX and .CIA too. If you don't mind losing the achievement tracking, I find the overall user interface easier to use and image quality much sharper on her official fork than RetroArch's mGBA core. I tried one of justin's newer custom complied RA mGBA core and did not see a performance gain compared to standalone mGBA.
 

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,180
Trophies
2
Age
32
Location
Pittsburgh
XP
14,893
Country
United States
end_drift releases her emulator as separate .3DSX and .CIA too. If you don't mind losing the achievement tracking, I find the overall user interface easier to use and image quality much sharper on her official fork than RetroArch's mGBA core. I tried one of justin's newer custom complied RA mGBA core and did not see a performance gain compared to standalone mGBA.
I thought it would be pretty obvious from my post that I'm trying to use the emulator allowed for achievement tracking, so no I'm not really interested. But thank you.
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,855
Country
United States
I thought it would be pretty obvious from my post that I'm trying to use the emulator allowed for achievement tracking, so no I'm not really interested. But thank you.
Oh, sorry if my replies were out of place. I'd figured most gamers put a higher emphasis on smoother and faster gameplay. The idea of deriving (greater?, the most?) enjoyment by showcasing personal achievements is a strange concept to me.

IMO, an exception that makes sense would be multiplayer games like FPS or arenas. Like where someone's skill has gotten too good to the point that when (s)he happens to lose to another person who is better, these are the rare occasions this person has fun in their play session.

Edit - * Achievements as a way to shout out for challengers.
 
Last edited by TurdPooCharger,
  • Like
Reactions: Zense and BORTZ

Zense

GBARunner2 config: Touch touchscreen -> Press R
Member
Joined
Apr 20, 2008
Messages
1,879
Trophies
1
XP
3,315
Country
Italy
Nevertheless, there are people who enjoy achievements and there's a reason why retroarch even has integrated support for it. We'll have to respect those who use them even if we see no incentive to use them ourselves.

Anyways from what I can gather from your posts it seems achievements in mgba on retroarch for 3ds is a lost cause and you're much better off using gpsp. However from what I understand it seems like gpsp doesn't have achievements, though I figure getting that implemented should be the quicker road to take than trying to optimize mgba? I'm just guessing.
 
Last edited by Zense,

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
501
Trophies
0
Age
35
XP
1,219
Country
Netherlands
So how do you squeeze a tiny bit of performance out of some of these emulators?
gpSP runs certain games really really well but mGBA is the only emulator that reports to RetroAchievements. I know I'm begging lol. I'm not asking for a fix for a single game, just excited.
So mGBA runs Super Mario Advance at ~30 to 45fps. Its playable but a little slow and unpredictable. gpSP is seemingly rock solid at ~58-59fps.

gpSP should have cheevos (retro achievements) support. Which games did you try? Original or modified? Region?
I haven't tested many gba games (just one), but at least Golden Sun (EU) is working with achievements for me.

I'm currently setting up a new development environment, when finished i do want to continue working on the netcode next to some other features.
While at it, i could take a look at some different games with their different results. And maybe figure out a working solution.
 

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
118
Trophies
0
Age
38
XP
1,246
Country
United States
So how do you squeeze a tiny bit of performance out of some of these emulators?

Oh, I could write a book. In the end, it boils down to measuring (a lot) and making the code do less work / spend less time doing nothing.

RetroArch mgba being slower than standalone has bugged me for a while, but I haven't found out why that's happening. I have the feeling that figuring that out might result in a speedup across the board.
 

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,180
Trophies
2
Age
32
Location
Pittsburgh
XP
14,893
Country
United States
gpSP should have cheevos (retro achievements) support. Which games did you try? Original or modified? Region?
I haven't tested many gba games (just one), but at least Golden Sun (EU) is working with achievements for me.

I'm currently setting up a new development environment, when finished i do want to continue working on the netcode next to some other features.
While at it, i could take a look at some different games with their different results. And maybe figure out a working solution.
I will check exactly what ROMs I tried. From memory it was the Super Mario Advance (USA/Austrailia) dump. But I will get the exact name and a md5 checksum. And I will also test more ROMs on gbSP. Of the ones I already tested, I don't think I saw any with Cheevos support.

Also I remember reading on the RetroArch site that gbSP straight up didnt support Cheevos? I would be happy to be proven wrong since it seems to run so much better then mGBA.

You guys don't have to bend over backwards to fix this crap haha. But I will say its super cool to see this stuff being worked on.
Oh, I could write a book. In the end, it boils down to measuring (a lot) and making the code do less work / spend less time doing nothing.

RetroArch mgba being slower than standalone has bugged me for a while, but I haven't found out why that's happening. I have the feeling that figuring that out might result in a speedup across the board.
Oh sorry sorry I meant from a end user standpoint. I don't see a lot of options in the RetroArch settings. I know the 3DS doesn't have much overhead power so i know there wouldn't be much I could anyways.
BUT, its cool to hear what its like behind the scenes too. I have very little knowledge about coding and optimization.
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
501
Trophies
0
Age
35
XP
1,219
Country
Netherlands
I will check exactly what ROMs I tried. From memory it was the Super Mario Advance (USA/Austrailia) dump. But I will get the exact name and a md5 checksum. And I will also test more ROMs on gbSP. Of the ones I already tested, I don't think I saw any with Cheevos support.

Also I remember reading on the RetroArch site that gbSP straight up didnt support Cheevos? I would be happy to be proven wrong since it seems to run so much better then mGBA.

You guys don't have to bend over backwards to fix this crap haha. But I will say its super cool to see this stuff being worked on.

The documentation still states it's not supported.
https://docs.libretro.com/library/gpsp/

Not sure when the documentation has been edited last time, but it should be fixed with this PR.
https://github.com/libretro/gpsp/pull/67 - Merged on april 5th.

I still need to test changes to the network functionality anyway, so i might as-well test it with a rom known to cause issues with achievements.
 
  • Like
Reactions: Zense

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,180
Trophies
2
Age
32
Location
Pittsburgh
XP
14,893
Country
United States
The documentation still states it's not supported.
https://docs.libretro.com/library/gpsp/

Not sure when the documentation has been edited last time, but it should be fixed with this PR.
https://github.com/libretro/gpsp/pull/67 - Merged on april 5th.

I still need to test changes to the network functionality anyway, so i might as-well test it with a rom known to cause issues with achievements.
So the official doc says the gpSP doesn't support Cheevos but you are saying that you think it should? That's dope I can get behind that.

Super Mario Advance (USA, Europe).gba
I think its the "No Intro" dump.
md5: ff6b0c48065389b888c7a78731d4b58d - matches the hash posted on RA.
mGBA boots Cheevos, popped one just to be sure. Gameplay hovers under 40fps during main gameplay.
gbSP boots Cheevos, I am completely in shock. Gamplay hovers around 58-59fps.

Golden Sun (USA, Europe).gba
mGBA boots Cheevos, but gameplay is slightly un-optimal at ~40 to 50fps. Playable for sure. Sometimes boots without controls.
gpSP will not boot Cheevos, despite a matching md5 of 1cdd7f33c9a27061201e1d1ce029a700 as posted on RA.Crashes after being asked to "Close Content".

Golden Sun - The Lost Age
mGBA boots Cheevos, but the fps is anywhere from low 30s to high 40s with graphics on the screen.
gpSP will not boot Cheevos, despite a matching md5 of 8efe8b2aaed97149e897570cd123ff6e as posted on RA. Crashes after being asked to "Close Content"
Also, gameplay loops to the GBA BIOS screen as soon as you get into the first cut scene, not allowing for any progress to be made.

Super Mario Advance 3 - Yoshi's Island (USA).gba
mGBA boots Cheevos but gameplay hovers around mid 30 to mid 40fps. Difficult to pay with precision.
gpSP boots Cheevos with a rock solid 59fps

I can't seem to read the console log fast enough as the games boot up. Is there a way to scroll back up to read what happened? It seems like both games give me graphical errors in the console text while they are loading. I can't help but think that might be another symptom of whatever is breaking when the ROMs are loading. Neither is able to close properly afterwards.

So it seems that gpSP DOES in fact support Cheevos. I will keep an eye out and test more. Thank you.
 
  • Like
Reactions: Zense

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
118
Trophies
0
Age
38
XP
1,246
Country
United States
I took a closer look at the mGBA code. I haven't been able to tell for sure, but it seems like the performance difference is probably that there's a threaded renderer in mGBA that's not used in RetroArch builds. Unfortunately it looks like it would take a lot of work to get it hooked up so it could be used in the core -- especially because I can't guarantee that's the problem. If someone put in the work, though, it might mean mGBA speedups in all platforms with threading.

BTW, I figured out the problem with the too-high framerates in gpSP when the dsp_thread driver is enabled. I'll update the cores once I have some time.
 
Last edited by justinweiss,

kenseiden

i am overflow
Member
Joined
Sep 20, 2015
Messages
253
Trophies
0
Age
39
XP
1,391
Country
United States
BTW, I figured out the problem with the too-high framerates in gpSP when the dsp_thread driver is enabled. I'll update the cores once I have some time.

That is good to hear! It’s nice knowing that gpSP is running fullspeed on the New 3DS models, but warp speed? Not quite what I was expecting, haha.

QUICK EDIT: While I have your attention, I just wanted to bring up a crash I’ve been experiencing in gpSP. It happens when I load up three games in a row or when I Close Content and then load a new game.

So it seems that gpSP DOES in fact support Cheevos. I will keep an eye out and test more. Thank you.

I can confirm it does. I just loaded up my existing Pokemon Pinball RS save in gpSP and it triggered an achievement.
 
Last edited by kenseiden,
  • Like
Reactions: BORTZ

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,180
Trophies
2
Age
32
Location
Pittsburgh
XP
14,893
Country
United States
So I think I stumbled across something mildly interesting. My above post might be bunk.

So I started playing Super Mario Advance in earnest today for fun on gpSP with Cheevos active. I earned up to world 3 of "A" coins. Turned off the console, went to the gym and came back. Tried to play again and...
gpSP couldn't boot correctly. I kept getting loading the core and ROM with issues. I would either get a hang on loading, or the ROM boots with no controls OR the ROM would load with "no achievements available". I rebooted about 10 times to no avail. See attached image where I captured a shot of what looks like the console with garbled text while it loads.
IMG_20200908_173131921.jpg
I switch to trying to get mGBA to load. It took another 4 tries before I finally got the game, controls, and cheevos to load. I have no idea what I did. But after that I was able to get gpSP to load everything up too. All of that to say, I might be wrong about the other games that I said won't post Cheevos. There just might be something wrong with the way these games are loading up in RA. Its hard when an issue isn't replicatable.

So in other news, anyone have any idea why my box arts and Cheevos images are "negative" in my menus? lol
 
Last edited by BORTZ,

Zense

GBARunner2 config: Touch touchscreen -> Press R
Member
Joined
Apr 20, 2008
Messages
1,879
Trophies
1
XP
3,315
Country
Italy
So I think I stumbled across something mildly interesting. My above post might be bunk.

So I started playing Super Mario Advance in earnest today for fun on gpSP with Cheevos active. I earned up to world 3 of "A" coins. Turned off the console, went to the gym and came back. Tried to play again and...
gpSP couldn't boot correctly. I kept getting loading the core and ROM with issues. I would either get a hang on loading, or the ROM boots with no controls OR the ROM would load with "no achievements available". I rebooted about 10 times to no avail. See attached image where I captured a shot of what looks like the console with garbled text while it loads.
View attachment 224269
I switch to trying to get mGBA to load. It took another 4 tries before I finally got the game, controls, and cheevos to load. I have no idea what I did. But after that I was able to get gpSP to load everything up too. All of that to say, I might be wrong about the other games that I said won't post Cheevos. There just might be something wrong with the way these games are loading up in RA. Its hard when an issue isn't replicatable.

So in other news, anyone have any idea why my box arts and Cheevos images are "negative" in my menus? lol
Such random behavior to me sounds like an sd card that needs formating or replacement. That is my uneducated guess.

If that's not it and it's not happening to anyone else (:unconfirmed), then a good old clean install of RA might be worth considering (?).
 

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,180
Trophies
2
Age
32
Location
Pittsburgh
XP
14,893
Country
United States
Such random behavior to me sounds like an sd card that needs formating or replacement. That is my uneducated guess.

If that's not it and it's not happening to anyone else (:unconfirmed), then a good old clean install of RA might be worth considering (?).
Thats possible huh, even thought I just dumped all of this stuff on it a few days ago.
 

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,180
Trophies
2
Age
32
Location
Pittsburgh
XP
14,893
Country
United States
It took a few tries but I got Golden Sun to boot with Cheevos. It might have to do with where I'm booting from too. If I try anywhere other than the destination the ROM is stored at, it doesn't seem to work.
 

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
112
XP
253
Country
United States
I tried the newest JustinWeiss PCSX CIA from this thread and got pretty much the same performance as the latest Retroarch nightly. I'm trying to figure out how people are getting these insane gains people are saying this thing has. I had all the extraneous stuff like audio reverb and all that turned off, asynchronous read on, etc.

Since both cores ran Strider 2 at full speed, I tried a more demanding game like Soul Reaver and got around 48-60 FPS in the first room of the game depending on where you're looking. Didn't really see any difference in the two in that game.

I tried flipping back and forth between pretty much every option. I didn't seem to get any difference between CTR, DSP, or DSP_Threaded sound either (unless it requires reloading retroarch?). Doing it on the fly was pretty much no change. What's the supposed secret setting for making this custom core outperform the default one? :wtf:

I even tried threaded video (which is always a bad idea because it just creates a bunch of input lag and shouldn't be used by anyone) and didn't really see any change with that.
 

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
543
Trophies
0
Age
31
Location
Newport, WA
XP
1,463
Country
United States
I tried the newest JustinWeiss PCSX CIA from this thread and got pretty much the same performance as the latest Retroarch nightly. I'm trying to figure out how people are getting these insane gains people are saying this thing has. I had all the extraneous stuff like audio reverb and all that turned off, asynchronous read on, etc.

Since both cores ran Strider 2 at full speed, I tried a more demanding game like Soul Reaver and got around 48-60 FPS in the first room of the game depending on where you're looking. Didn't really see any difference in the two in that game.

I tried flipping back and forth between pretty much every option. I didn't seem to get any difference between CTR, DSP, or DSP_Threaded sound either (unless it requires reloading retroarch?). Doing it on the fly was pretty much no change. What's the supposed secret setting for making this custom core outperform the default one? :wtf:

I even tried threaded video (which is always a bad idea because it just creates a bunch of input lag and shouldn't be used by anyone) and didn't really see any change with that.
Did you only install the PCSX core itself, or did you install a set that included the base RetroArch launcher? I believe you need the actual launcher to go with these cores, they come in a set for that reason. Also, to be on the safe side, install the individual desired cores as well using the full FBI method or whatever installer you use instead of letting the launcher do the work.

Anyways, I wanted to give an update from my end. Keep in mind that I haven't updated beyond the version immediately prior to fixing RetroAchievement connectivity. I turned on Asynchronous disc read on PCSX, and hit the "restart" option to see if I got any speed increases on Pac-Man World. The game restarted just fine, but the next game I tried to play (I went back to Guardian's Crusade, but it happened with any game) gave me the same exact freeze on loading as I reported before. ('audio driver: libretro' as the most recent line on the bottom screen.) It persisted up until I went into FBI and deleted all of the config files again.

Does anybody else have issues with the threaded video feature turned on, vSync turned off, and asynchronous disc read all turned on at the same time, using a New3DS? I want to get a second opinion before I make the assumption that it's the reason for the freezing.

Still would like to know how to update to a newer version without fully deleting everything and re-installing from scratch, as well.
 

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
112
XP
253
Country
United States
Did you only install the PCSX core itself, or did you install a set that included the base RetroArch launcher? I believe you need the actual launcher to go with these cores

All I did was download the newest Retroarch nightly, placed the Retroarch folder on the root of the SD card, removed all of it's default cores, and tossed in only the latest JustinWeiss PCSX CIA core into the cores folder then installed it via FBI. If i then uninstall the JustinWeiss core and install the default PCSX CIA core instead, I got about the same performance in Soul Reaver (48-60 FPS depending where you look in the first room of the game).
 
Last edited by r0achtheunsavory,

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
543
Trophies
0
Age
31
Location
Newport, WA
XP
1,463
Country
United States
All I did was download the newest Retroarch nightly, placed the Retroarch folder on the root of the SD card, removed all of it's default cores, and tossed in only the latest JustinWeiss PCSX CIA core into the cores folder then installed it via FBI. If i then uninstall the JustinWeiss core and install the default PCSX CIA core instead, I got about the same performance in Soul Reaver (48-60 FPS depending where you look in the first room of the game).
Got it. The JustinWeiss cores require the included JustinWeiss launcher. Try installing the most recent full set, with the cores you don't want removed from the list (drag/drop them into an "unusedcores" folder and skip installing them. A shorter core list will speed up launch times.), and with each thing installed manually rather than through the launcher's "install core" feature.
 
General chit-chat
Help Users
    The Real Jdbye @ The Real Jdbye: fogel is a bird