Homebrew Unofficial 3DS RetroArch builds

Zense

Well-Known Member
Member
Joined
Apr 20, 2008
Messages
1,977
Trophies
2
XP
4,306
Country
Italy
Interesting. SOTN is the only one of that set I've been playing with, and the intro battle stays locked at 60fps for me, except for one hiccup (1-2 frames) right during the transformation to the second form, and another small one (maybe half a second?) when doing the photo snapshot. There was a dip to ~45fps when running through the forest, but entryway and encounter with death were 59-60fps. Both Death and Dracula's conversations went through without any slowdown or choppy sound.

Maybe it's a setting thing? I have vsync off, audio sync on, resampler nearest / lowest. Frameskip 0, dithering off, frame duping on, reverb on, interpolation simple cd read async. Everything else is default, I think.

I'd be interested in how things go after a few battles in FFIX. In Chrono Cross, I notice an improvement in battles after things start to get stored in memory. It's not huge, but noticeable. Screen transitions don't stall the music anymore, which is very nice.

Really happy to hear you haven't had any crashes!
Generally SOTN stays at 60 but it drops as soon as something taxing shows up. Its Iostly noticeable in music stuttering. I use your same settings. The main menu before starting stays at around 45 fps iirc. The photo snapshot with the burning effect went without any hiccups that I could notice. It used to stay constantly at lower fps iirc.

I'll try to see what happens in ffix later in the game. I also agree that short transitions and loading screens go more smoothly.

How is the 480i pause screen in chrono cross? I remember it playing at 30fps~.
 
Last edited by Zense,
  • Like
Reactions: justinweiss

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
@justinweiss Im surprised more people aren’t raving about your recent pull request. PCSX performance is much improved and at or near full speed on my 2DS XL. There was a big hurrah when you pushed UNAI in September but these recent changes are really significant too.

Is there anything else you can do to squeeze out a bit more performance? We are really close to 0 frame skip full speed on some major titles now.

Thanks for all you have done!
 

Zense

Well-Known Member
Member
Joined
Apr 20, 2008
Messages
1,977
Trophies
2
XP
4,306
Country
Italy
@justinweiss Im surprised more people aren’t raving about your recent pull request. PCSX performance is much improved and at or near full speed on my 2DS XL. There was a big hurrah when you pushed UNAI in September but these recent changes are really significant too.

Is there anything else you can do to squeeze out a bit more performance? We are really close to 0 frame skip full speed on some major titles now.

Thanks for all you have done!
What major titles for example? :creep:
 

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
121
Trophies
0
Age
41
XP
1,439
Country
United States
Is there anything else you can do to squeeze out a bit more performance? We are really close to 0 frame skip full speed on some major titles now.

No idea! I was pretty surprised to see such big results from a few compile options. The async cd reads branch should help with some games. There's a few other ideas I've had, but they've mostly made things slower.
 
  • Like
Reactions: Nutez

Zense

Well-Known Member
Member
Joined
Apr 20, 2008
Messages
1,977
Trophies
2
XP
4,306
Country
Italy
No idea! I was pretty surprised to see such big results from a few compile options. The async cd reads branch should help with some games. There's a few other ideas I've had, but they've mostly made things slower.
I just tried Spyro 1 PAL on the async release (so not latest nightly with your last improvement) and I was surprised to see it played at a stable fullspeed 50fps in 90% of the time. The few times it would drop would be when you would have a lot of effects and polygons on screen. I'm excited to try the latest addition you made to see how it fares. I did not expect this game to ever be playable.

Also, I tried In the Hunt but it still suffered from stuttering music when the ps1 music is selected. I'm probably gonna make a recording of it.
 
Last edited by Zense,

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
You're doing an amazing job on tracking down these long standing issues. @justinweiss

PCSX-ReARMed runs better than ever. With most of the PSX's catalogue running near perfect, We're at a point which almost everyone deemed impossible a year ago.

Much appreciated !

Other than a few minor issues with the current build,
- MGBA seems to be loading most roms i've tried so far, but struggles at running at full speed.
- gPSP unfortunately still seems quite unstable, but mostly fullspeed.
- PCSX haven't encountered any crashes.
 

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
121
Trophies
0
Age
41
XP
1,439
Country
United States
- gPSP unfortunately still seems quite unstable, but mostly fullspeed.

Unstable in-game or when switching between games? I haven't run into any ingame crashes myself after porting the fix from pcsx, I'd be interested in seeing the crash screen if you do.
 

kenseiden

i am overflow
Member
Joined
Sep 20, 2015
Messages
259
Trophies
0
Age
42
XP
2,356
Country
United States
Unstable in-game or when switching between games? I haven't run into any ingame crashes myself after porting the fix from pcsx, I'd be interested in seeing the crash screen if you do.

For me, I seem to be getting consistent crashes in gpSP by doing this:
- Loading up a ROM
- Close content
- Loading up a new ROM, after which the exception/crash screen occurs

It seems that if I load games one after another without closing content, I don't get those crashes.
 

Zense

Well-Known Member
Member
Joined
Apr 20, 2008
Messages
1,977
Trophies
2
XP
4,306
Country
Italy
Unstable in-game or when switching between games? I haven't run into any ingame crashes myself after porting the fix from pcsx, I'd be interested in seeing the crash screen if you do.
I was wondering if your latest additions, the async cd rom read and the compile-time tweaks, are merged to the master and can be found in the latest nightlies, because it does not seem like it. Just tried the 02.03.20 nightly for pcsx_rearmed and I did not find the async read option anymore. Did see the spu irq compatiblity option though. I'm not sure if it was there before. Actually I tried Spyro 1 on the latest nightly and it ran worse and at 40fps instead of the 50fps from your latest release in this thread.
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
@justinweiss Is there any chance you can upload a build that includes all of your recent changes including the async read? Would love to test out a cumulative update as the nightlies do not have async yet and I don’t think the async build you uploaded had your compile time improvements. Maybe I’m wrong! Thanks.
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Unstable in-game or when switching between games? I haven't run into any ingame crashes myself after porting the fix from pcsx, I'd be interested in seeing the crash screen if you do.

Haven't had much time for playing with this, but now you've mentioned it,
I've encountered a seemingly random crash in-game once.
After playing V-Rally 3 for about 5 min. Unfortunately don't have the crashlog for this one.
Haven't had any crashes since tho.

Most crashes seem to occur on loading time, while starting a rom.

I also had crashes upon creating a new game in Donkey Kong Country 1 and 2.
Both logs are included, together with the log of DKC 2 crashing on restart right after.
 

Attachments

  • 20200302_002700.jpg
    20200302_002700.jpg
    1.4 MB · Views: 107
  • 20200302_214855.jpg
    20200302_214855.jpg
    1.4 MB · Views: 158
  • 20200302_222021.jpg
    20200302_222021.jpg
    1.4 MB · Views: 136
  • Like
Reactions: Zense

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
121
Trophies
0
Age
41
XP
1,439
Country
United States
Haven't had much time for playing with this, but now you've mentioned it,
I've encountered a seemingly random crash in-game once.
After playing V-Rally 3 for about 5 min. Unfortunately don't have the crashlog for this one.
Haven't had any crashes since tho.

Most crashes seem to occur on loading time, while starting a rom.

I also had crashes upon creating a new game in Donkey Kong Country 1 and 2.
Both logs are included, together with the log of DKC 2 crashing on restart right after.

Wow, that's weird -- all three of those look like the crashes the patch was meant to fix :-(

Just to narrow it down -- you're running Luma 8.0+, right? And a gpSP build that has https://github.com/libretro/gpsp/commit/3f2f57c982ffead643957db5b26931df4913596f in it? I'll have to spend more time with it and see.

The crashes that I was still expecting to see were occasional data aborts when switching roms, with CPSR ending in 10.
 
Last edited by justinweiss,

justinweiss

Well-Known Member
Member
Joined
May 29, 2016
Messages
121
Trophies
0
Age
41
XP
1,439
Country
United States
@justinweiss Is there any chance you can upload a build that includes all of your recent changes including the async read? Would love to test out a cumulative update as the nightlies do not have async yet and I don’t think the async build you uploaded had your compile time improvements. Maybe I’m wrong! Thanks.

Kind of. It's easiest just to make a build with my WIP branch. This has a few extra things in it:

- async cd reads: https://github.com/justinweiss/pcsx_rearmed/tree/async-cd-reads
- (experimental) threaded audio: https://github.com/justinweiss/pcsx_rearmed/tree/3ds-threaded-audio , maybe slight speedup but more complex, not sure if it's worth it yet.
- (very experimental) ARM-optimized lighting / blending functions: https://github.com/justinweiss/pcsx_rearmed/tree/arm-lighting-blending , bigger speedups in some places, but way more complex. I still think it's worth it.

Consider this very unofficial and unsupported, the ARM optimization especially needs a lot of work before it'd be ready for official builds. And I'm not going to have a ton of time to spend on it in the near future, so don't expect these to change quickly... but feel free to give them a try.

A few other random things I've noticed:

- For some reason it seems like you can lose a few FPS by having the 3DS slider up, no idea why.
- Make sure you turn dithering off, that should probably be the default on 3DS if someone wants an easy PR! It's slower enough that I didn't bother trying to optimize it.
- High-res games could probably get a big speedup by skipping drawing odd scanlines entirely -- the 3DS is low-res enough that you wouldn't see them anyway. It looks like this was the default for older ARM devices at one point, but it's broken in pcsx and unimplemented in RetroArch. Easiest fix would probably be to convert all 480ish scanlines to a 240 buffer in pcsx, and pretend to RetroArch that it's actually 240p. May want to shrink it horizontally, too -- "medium-res" is still too wide for the 3DS screen, so you get weird aspect ratios. That would be more expensive, I think, but probably worth it.

Also, I don't have CIA RetroArch on my 3ds, so I haven't even tried to install the CIA yet :-)
 

Attachments

  • pcsx_rearmed_libretro.cia.zip
    1.6 MB · Views: 177
  • pcsx_rearmed_libretro.3dsx.zip
    1.6 MB · Views: 115
Last edited by justinweiss,

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Kind of. It's easiest just to make a build with my WIP branch. This has a few extra things in it:

- async cd reads: https://github.com/justinweiss/pcsx_rearmed/tree/async-cd-reads
- (experimental) threaded audio: https://github.com/justinweiss/pcsx_rearmed/tree/3ds-threaded-audio , maybe slight speedup but more complex, not sure if it's worth it yet.
- (very experimental) ARM-optimized lighting / blending functions: https://github.com/justinweiss/pcsx_rearmed/tree/arm-lighting-blending , bigger speedups in some places, but way more complex. I still think it's worth it.

Consider this very unofficial and unsupported, the ARM optimization especially needs a lot of work before it'd be ready for official builds. And I'm not going to have a ton of time to spend on it in the near future, so don't expect these to change quickly... but feel free to give them a try.

A few other random things I've noticed:

- For some reason it seems like you can lose a few FPS by having the 3DS slider up, no idea why.
- Make sure you turn dithering off, that should probably be the default on 3DS if someone wants an easy PR! It's slower enough that I didn't bother trying to optimize it.
- High-res games could probably get a big speedup by skipping drawing odd scanlines entirely -- the 3DS is low-res enough that you wouldn't see them anyway. It looks like this was the default for older ARM devices at one point, but it's broken in pcsx and unimplemented in RetroArch. Easiest fix would probably be to convert all 480ish scanlines to a 240 buffer in pcsx, and pretend to RetroArch that it's actually 240p. May want to shrink it horizontally, too -- "medium-res" is still too wide for the 3DS screen, so you get weird aspect ratios. That would be more expensive, I think, but probably worth it.

Also, I don't have CIA RetroArch on my 3ds, so I haven't even tried to install the CIA yet :-)

I’ve been testing out your unofficial build all day. Symphony of the Night plays better than ever before. Previously there were certain rooms with advanced depth effects where the frame rate ranked. Your new build holds 60fps the entire time.
 

Zense

Well-Known Member
Member
Joined
Apr 20, 2008
Messages
1,977
Trophies
2
XP
4,306
Country
Italy
I’ve been testing out your unofficial build all day. Symphony of the Night plays better than ever before. Previously there were certain rooms with advanced depth effects where the frame rate ranked. Your new build holds 60fps the entire time.
I can confirm this. Spyro 1 pal runs at 50fps with even fewer drops (only found 1 at a very specific point). Crash Bash PAL runs smoothly at 50fps (gonna have to see the first boss if there are any drops still), Disney's Hercules runs at 60 fps (only noticed two drops during Hydra battle and in the city).
Gonna test these games that had occasional or constant low fps before:

Ape Escape
Brave Fencer Musashi
Breath of Fire III
Breath of Fire IV
Chrono Cross
Final Fantasy Tactics
Roll Away
Tactics Ogre
Xenogears
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
I can confirm this. Spyro 1 pal runs at 50fps with even fewer drops (only found 1 at a very specific point). Crash Bash PAL runs smoothly at 50fps (gonna have to see the first boss if there are any drops still), Disney's Hercules runs at 60 fps (only noticed two drops during Hydra battle and in the city).
Gonna test these games that had occasional or constant low fps before:

Ape Escape
Brave Fencer Musashi
Breath of Fire III
Breath of Fire IV
Chrono Cross
Final Fantasy Tactics
Roll Away
Tactics Ogre
Xenogears

If you disable Lighting under UNAI advanced settings, you can get full speed in Suikoden II with no frame drops. Disabling this setting has no discernible impact on graphics quality in this particular game so from my perspective the greatest JRPG of all time is now perfectly playable on the 3DS!
 
  • Like
Reactions: Zense

Rj.MoG

Well-Known Member
Member
Joined
Jun 8, 2015
Messages
377
Trophies
0
Age
32
XP
1,479
Country
United States
Kind of. It's easiest just to make a build with my WIP branch. This has a few extra things in it:

- async cd reads: https://github.com/justinweiss/pcsx_rearmed/tree/async-cd-reads
- (experimental) threaded audio: https://github.com/justinweiss/pcsx_rearmed/tree/3ds-threaded-audio , maybe slight speedup but more complex, not sure if it's worth it yet.
- (very experimental) ARM-optimized lighting / blending functions: https://github.com/justinweiss/pcsx_rearmed/tree/arm-lighting-blending , bigger speedups in some places, but way more complex. I still think it's worth it.

Consider this very unofficial and unsupported, the ARM optimization especially needs a lot of work before it'd be ready for official builds. And I'm not going to have a ton of time to spend on it in the near future, so don't expect these to change quickly... but feel free to give them a try.

A few other random things I've noticed:

- For some reason it seems like you can lose a few FPS by having the 3DS slider up, no idea why.
- Make sure you turn dithering off, that should probably be the default on 3DS if someone wants an easy PR! It's slower enough that I didn't bother trying to optimize it.
- High-res games could probably get a big speedup by skipping drawing odd scanlines entirely -- the 3DS is low-res enough that you wouldn't see them anyway. It looks like this was the default for older ARM devices at one point, but it's broken in pcsx and unimplemented in RetroArch. Easiest fix would probably be to convert all 480ish scanlines to a 240 buffer in pcsx, and pretend to RetroArch that it's actually 240p. May want to shrink it horizontally, too -- "medium-res" is still too wide for the 3DS screen, so you get weird aspect ratios. That would be more expensive, I think, but probably worth it.

Also, I don't have CIA RetroArch on my 3ds, so I haven't even tried to install the CIA yet :-)
This build doesn’t seem to want to load my Bios and the memory card is corrupted or not readable in any of the games I’ve tried. It is significantly faster in all games however and doesn’t seem to crash! I’m using the CIA Version. Have any advice? SOTN tried to format the memory card and says that it’s corrupt. THPS2 just continually tried to load.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/WOppJ92RgGU?si=KE79L6A_3jESsGQM