Homebrew Unofficial 3DS RetroArch builds

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
114
XP
275
Country
United States
Since all I saw in the latest JustinWeiss upload was a zip file full of cia files and then a 3dsx file, I assume you still take the actual Retroarch folder itself from the lastest nightly build since he included no actual Retroarch folder full of the other stuff you need?
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Seems like Audio Latency settings actually impact emulator performance now on the N3DS, at least using the threaded driver. I don’t recall that being the case previously but that may just be an issue with my memory.

This works nicely on turn-based RPGs as it can reduce the impact of micro FPS dips on sound, which in these types of games are more noticeable than the impact on video.
 

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
121
Trophies
0
Age
41
XP
1,439
Country
United States
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.

Yep, that's been a problem for a while, don't think anyone's looked into it yet.

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.

Some things should happen automatically (threaded pcsx SPU, RetroArch tasks running in the background, savestate buffer size, minor speedup from libctru 2.0), some need to be manually enabled (dsp_thread, threaded video). The general best settings for performance (CD Access: Async, dithering off, downscale hi-res views on, vsync off) should also be set. dsp_thread and CD Access require a restart to see a change.

With pcsx, you will sometimes have to make fidelity sacrifices for faster speed. I find it best to set all of the performance options until you get to full speed, and then disable them one by one in order of most to least personal annoyance.

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.

I had this happen once when I was testing the CIAs, but it was because it was for some reason trying to load gba roms with pcsx. Wiping the config fixed it, but I haven't been able to cause it since.

CIA RetroArch has always been a mystery to me, and upgrading seems like a pain to get right. I don't personally use it since 3dsx is so, so, so much more convenient for development and you can easily move cores around without having to worry if they're installed or not. It should be just as fast these days.

Seems like Audio Latency settings actually impact emulator performance now on the N3DS, at least using the threaded driver. I don’t recall that being the case previously but that may just be an issue with my memory.

Yep! The buffer that queues audio for the thread is now sized based on the latency setting. The previous driver ignores it and uses a fixed size.
 

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,243
Trophies
3
Age
34
Location
Pittsburgh
XP
16,018
Country
United States
So with gpSP, at the very very least, Super Mario Advance runs fast enough to run bi-linear filtering and another video filter. I have a really hard time believing what I am seeing lol

EDIT:
Well now I am having considerable issues getting gpSP to reliablely load up without glitching out. Either losing the ability to post Cheevos, loading with no controls, or freezing before all of the ROM is booted up. I am deleting my cfg file and trying again.

I wonder if anything has to do with my card being a 128GB force formatted to FAT32?
 
Last edited by BORTZ,
  • Like
Reactions: DSoryu and Zense

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
114
XP
275
Country
United States
Why in the name of God are you running GBA games in Retroarch instead of Twilight Menu++? I would have mentioned VC injection GBA, but for some reason it seemed to have higher input lag than Twilight Menu.

I wonder if anything has to do with my card being a 128GB force formatted to FAT32?

I use 128gb. I originally went 32k cluster size and am using 64k right now. After filling up the SD to around 95 gigs, the home screen scrolling through icons has a bit of lag to it that's not present when you remove the card. Don't know if 32k cluster size is any better or not because I hadn't filled up the card as much when I was running 32k.
 
Last edited by r0achtheunsavory,

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,243
Trophies
3
Age
34
Location
Pittsburgh
XP
16,018
Country
United States
Why in the name of God are you running GBA games in Retroarch instead of Twilight Menu++? I would have mentioned VC injection GBA, but for some reason it seemed to have higher input lag than Twilight Menu.



I use 128gb. I originally went 32k cluster size and am using 64k right now. After filling up the SD to around 95 gigs, the home screen scrolling through icons has a bit of lag to it that's not present when you remove the card. Don't know if 32k cluster size is any better or not because I hadn't filled up the card as much when I was running 32k.
If you havent been following along, I have been experimenting with linking my games to RetroAchievements. Besides, gpSP runs games at full speed now, thanks to JW's hard work. I am trying to chase down the issue where gpSP seems to get garbled up before booting into the selected ROM.
 
  • Like
Reactions: Zense

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
114
XP
275
Country
United States
As for PCSX, did a fresh install with latest nightly build + the JustinWeiss CIA core. A low of around 48 FPS in first room of Soul Reaver with threaded sound off, while it stays mostly 55-60 FPS with threaded sound on.

The downside is that I think with dsp_threaded sound on it controls worse and might feel a little more disconnected from the hand in games that you already get 60 FPS in and don't need the extra performance. Tried comparing DSP non-threaded vs CSND and it's a much closer ballgame with it being harder to tell a clear winner.

So as of right now, I probably wouldn't use threaded sound for the same reason I wouldn't use threaded video, they both seem to worsen control/input lag. If you absolutely need higher FPS to run a game at all and it's just an RPG game or something, then threaded sound might be worth using.
 
Last edited by r0achtheunsavory,

BORTZ

DO NOT SCREENSHOT
Supervisor
Joined
Dec 2, 2007
Messages
13,243
Trophies
3
Age
34
Location
Pittsburgh
XP
16,018
Country
United States
Yeah I can't seem to figure out if this gpSP issue is on my end or not. It seems completely random whether its able to load everything correctly or not. And I have been having a very very low success rate. It's like RA loads a whole bunch of information way too fast and isn't able to process it correctly. Anyways, I hope the big guys can replicate some of my errors because I am out of ideas.
 

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
114
XP
275
Country
United States
Dumb question: Retroarch docs seem to point to the fact multiple versions of PCSX cores exist with the main one only supporting scph1001.BIN BIOS. Does the PCSX core on 3ds only support that one and I can just get rid of the others, or does it support all of them with a load priority order mentioned in the PCSX forwarder thread?

I remember in the earlier days of PCSX2, the oldest BIOS wouldn't boot games like Front Mission, but the newer one would, so I've always just assumed using the newest US release is generally the best choice. I find it odd the PCSX forwarder thread mentions the load order being:

psxonpsp660.bin
scph101.bin
scph5501.bin
scph7001.bin
scph1001.bin


Seems like that first BIOS would likely cause more problems than help anything. How in the world is that first on the list and the latest US release is on the bottom? Does the PSXONPSP BIOS do something to handle PBP files better?
 
Last edited by r0achtheunsavory,

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Dumb question: Retroarch docs seem to point to the fact multiple versions of PCSX cores exist with the main one only supporting scph1001.BIN BIOS. Does the PCSX core on 3ds only support that one and I can just get rid of the others, or does it support all of them with a load priority order mentioned in the PCSX forwarder thread?

I remember in the earlier days of PCSX2, the oldest BIOS wouldn't boot games like Front Mission, but the newer one would, so I've always just assumed using the newest US release is generally the best choice. I find it odd the PCSX forwarder thread mentions the load order being:

psxonpsp660.bin
scph101.bin
scph5501.bin
scph7001.bin
scph1001.bin


Seems like that first BIOS would likely cause more problems than help anything. How in the world is that first on the list and the latest US release is on the bottom? Does the PSXONPSP BIOS do something to handle PBP files better?

Pretty sure you’ve got that chronology wrong The order is newest to oldest. 1001 was the initial US release. 101 was the last US release.
 

r0achtheunsavory

Well-Known Member
Member
Joined
Sep 9, 2020
Messages
241
Trophies
0
Age
114
XP
275
Country
United States
I've always thought of that newer, rounded, PSone contraption as being more of a budget orientated downgrade than the three original models. I'd probably expect that one to be worse and more buggy rather than being more advanced.
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
I've always thought of that newer, rounded, PSone contraption as being more of a budget orientated downgrade than the three original models. I'd probably expect that one to be worse and more buggy rather than being more advanced.

I honestly cannot imagine why you would conclude that six years of additional testing and knowledge would negatively impact firmware quality. /shrug

In any event I’m fairly certain that the 1001 was the first US release of the original PSX. So I can understand the recommended load order.

That said the impact of the bios on PCSX Rearmed seems minimal.
 
Last edited by MarioKartFan,

TheBeverage

Well-Known Member
Newcomer
Joined
Mar 13, 2015
Messages
81
Trophies
0
XP
675
Country
United States
Can these cores just be thrown into the Retroarch cores folder and installed, or is there a different process? Also, do I need to first uninstall the old cores from my home menu before running the new ones? That’s how I’ve always upgraded cores but I’m not sure if that’s actually the best way.

edit: Oh, and is there a reason to use .3dsx over .cia other than faster initial loading? Thanks!
 
Last edited by TheBeverage,

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,372
Trophies
2
Location
In my house
XP
4,814
Country
Mexico
I will give the .3dsx retroarch builds a go, since given the comments of other uses it seems to load faster than the cia builds. I onbly have a question: Should the .3dsx files be on the cores folder inside the /retroarch directory or inside the /3ds directory?
 

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
589
Trophies
1
Age
33
Location
Newport, WA
XP
2,242
Country
United States
Here's a new batch which includes the fps fix for gpSP: https://gofile.io/d/vvrhAn
Okay, I fully deleted my old version and replaced everything with this set. I also deleted all of the existing config files so there shouldn't be anything at all from the previous installation that can affect this in any way. All of the cores I want to use are in the "cores" folder, with the others tucked away inside an "unusedcores" folder. I'm installing everything manually through FBI, rather than using the method built-in in the RetroArch launcher. Also will be using the launcher to start the cores rather than launching the cores themselves. Further, for neatness' sake, the 3DS Home Menu has all of the standalone cores inside of a folder with only the launcher on the Home Menu itself. (This has no bearing on the folder organization in the SD card itself, but I'm listing every detail in case of any bugs. I also copied your post describing the recommended settings for full speed, and will ONLY be activating these settings one at a time to see if there are any freezes or issues.

Game Tested: Guardian's Crusade (PlayStation)
File Location: sdmc:/3ds/Emulated Games/PlayStation/Guardian's Crusade/guardians_crusade.bin
Core: PCSX ReARMed - BIOS included inside "cores/system"
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 1 - Default Settings
Game launches.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 2 - dsp_thread + Threaded Video (Also used "Restart RetroArch" before launching game)
Game launches.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 3 - No Settings Changed, RetroArch fully closed + re-launched
Game launches
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 4 - CD Access - Async (Also used "Restart RetroArch" before launching game)
Freezes on loading
Bottom Screen is at:

[libretro INFO] Starting async CD thread
selected sound output driver: libretro

Was unable to exit RetroArch without using the physical power button on the system to force the 3DS off.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 5 - No Settings Changed, Testing if freeze occurs regardless of core
New Game - Metroid Fusion
Core: gpSP - BIOS included

Game launches. Freezing problem isolated to PCSX ReARMed.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 6 - Is Freezing Consistent, or Occasional
Will Attempt to Run Guardian's Crusade 4 Times

Attempt 1 - Freeze
Attempt 2 - Freeze
Attempt 3 - Freeze
Attempt 4 - Freeze

Freezing appears to be consistent
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 7 - CUE file created for Guardian's Crusade. Confirmed working on PC prior to moving to 3DS.
Will Attempt to load game through CUE file

Game Runs, Core settings confirmed as consistent, is still set to Async CD Access. In-Game save files + settings are still there, even though game is now loaded through CUE file.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 8 - Feeling Optimistic, Will Activate Rest of Recommended Settings

Game Runs.

Performance Report
Slight graphical glitch introduced when leaving/entering new areas (leaving a building, for example). No slowdown noticed during battle transitions or battle effects. (I just happened to encounter an enemy that did a screen-filling flame attack, so typical 3D battle effects don't cause slowdown) VERY MINOR slowdown when going across town. Didn't appear on bottom-screen FPS counter, but noticeable when playing. I believe it's an occasion that would have caused slowdown on real hardware, so I don't blame the emulator in any way.
----------------------------------------------------------------------------------------------------------------------------------------------------------------

Bug-Testing Result - If freezing occurs when loading PSX game, make sure user is using CUE file. Is required if aSync CD Access is activated. If not using aSync, BIN and IMG files load correctly and a CUE file is not necessary.

For Users: CUE file can be created in Notepad. Must have identical name as game file ("guardians_crusade.bin" requires "guardians_crusade.cue"). Simply paste the following into an empty file:

FILE "guardians_crusade.bin" BINARY
TRACK 1 MODE2/2352
INDEX 1 00:00:00

The only thing that needs to be changed is to replace the file name in quotes with the file name of your game. The quotation marks must be kept. Everything else can be left the same. Place this file in the same folder as the game file, and load this file instead.


High-Stress Performance Test - "Legend of Legaia"
Prior versions dropped to half speed when casting magic due to animations.
Current version only slows from 60 FPS to 58 during magic, rises back up afterwards.
 
  • Like
Reactions: justinweiss

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
589
Trophies
1
Age
33
Location
Newport, WA
XP
2,242
Country
United States
Something only just came to mind and I wanted to ask about it.

I've started playing "Legend of Legaia", and when I use RetroArch on the 3DS, there's a white bar at the bottom of the screen that's just a few pixels thick. It's easy enough to fix, since I can see the whole emulated screen above it, I just use the custom aspect ratio and shove it off the bottom of the screen. However, I got curious and loaded up the game using RetroArch on my PC. The white bar doesn't appear there, and this is the only game I've played up to this point on the 3DS that does this. Any idea why?
 

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
121
Trophies
0
Age
41
XP
1,439
Country
United States
Something only just came to mind and I wanted to ask about it.

I've started playing "Legend of Legaia", and when I use RetroArch on the 3DS, there's a white bar at the bottom of the screen that's just a few pixels thick. It's easy enough to fix, since I can see the whole emulated screen above it, I just use the custom aspect ratio and shove it off the bottom of the screen. However, I got curious and loaded up the game using RetroArch on my PC. The white bar doesn't appear there, and this is the only game I've played up to this point on the 3DS that does this. Any idea why?

If it's a high-res game, it could be a glitch from the "Downscale Hi-Res" setting. It's hard to compare PC builds with 3DS ones, because PCSX on PC uses a different GPU plugin (peops vs unai).
 
  • Like
Reactions: Zense and DSoryu

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @Dumpflam, Report it or contact staff.