My experience of RetroArch as a new user on PS3

Hi,

not sure if the PS3 port is still in development, but I thought I’d leave some feedback on how things went for me as a brand new user. I might be missing some really obvious stuff, but hopefully this helps others or gives the devs a noob perspective.

Process: Factory reset PS3 on 4.81 -> latest HFW 4.85 -> ps3xploit -> latest HEN -> latest RetroArch CEX via package manager

First oddity: the controls are wrong for GB, GBA, SMS, NES. On those consoles the ‘B’ (left most) button lies towards the tip of your thumb - Square ‘A’ (right most) lies on the ‘ball’ of your thumb in the name of ergonomics. Before, After.

Square is run on the SMB1, SMB2 & SMB3 SNES ports… so why not the NES? The precedent’s been set already. Your thumb rests in a certain position, and that position isn’t “let me rotate my wrist 90 degrees counter clockwise so my palm can mash the triggers”.

Just, y’know by this logic, why aren’t all of the SNES buttons rotated 90degrees so I can play the same SMB1-3 games on SNES/NES with the same button layout on the same controller if it’s so superior? Seems kinda juvenile and reeks of “well I like it this way, who cares that all the users will have to change this per core”. Bleh, being contrary for the sake of it?

Sounds like I’m making a big deal of nothing, but it felt to me like a bad omen. Had me wondering early on if there was some hot shot Axl Rose style Prima Donna leading development and imposing needlessly their preferences on others.

So anyway, I go to save the changes and find out that there’s no default directory for key mappings set. It’s showing … exit, file manager, make folder, set perms, come back… was a little annoying having to repeat this … for each core.

I assume certain folders probably have root perms and that’s why RetroArch is telling me the directory has not been found… while I’m in it. So back out, file manager, set perms, come back… Not sure if it’s odd coding or odd word choice?

So I loaded up a clean SMB1 ROM… Despite being fixed hardware I’m getting stuttering, choppy audio, a bad framerate, etc with the default core :expressionless: Disabling VSync and shaders kinda helped, still runs at sub 25 fps though. Starting to feel like I’m missing something. I understand that for general processing the PS3 is kinda limited (~800mhz Pentium) … but this game runs pretty well on NESTicle on Win95 (unfixed hardware), The PSP, the old XBox, the PS1 (for real it was actually a sweet emu), the PS2, Java! etc. Just a bit underwhelming, y’know?

I try a few other systems ( and of course have to set the correct button layout for each, kinda kills the fun the 8th time )…

Btw, it’s crashing every second game launch as it scans for new content. Just as the game starts with 0% right there on the screen. There’s no option with the terms “scan” or “content” to be found anywhere. I leave it for a bit, I’m sure I’ll find an answer eventually, but I’m starting to cringe a bit and scratch my head.

Later I try and launch RetroArch and it’s attempting to output 1080p over the composite cable. This of course crashes the entire system.

Straight into /dev_hdd0/game/SSNE10000/USRDIR and wipe the CFG

Bit of a Groundhog Day moment here: -re-apply the controls for each core -disable vsync etc again -still keeps crashing on every ~2nd game launch

I eventually disable playlists and that seems to fix it freezing on game launch. There’s no way this isn’t a known issue on a clean install. I have maybe a few hundred roms. Nothing crazy; just popular games for SNES/GENS/GBA/GB etc.

So eventually things are feeling kinda stable… I’m feeling positive. Yeah I’m not a negative person.

I try to load some NES games from .7z files… and mash X to get through… the system hangs. Despite having the NES header at the top of the file, it’s trying to open the game with arcade cores… is this normal? Does it take a wild guess from the .7z header, or does it try to look inside? Bizhawk has this down.

Later I notice GameBoy games are going into the overscan region… and off the side of the screen when I actually look properly. I can’t find a calibration option, so I try to toggle resolutions. It successfully sets 720x576 from an initial res of… 720x576. I scroll down 2 menu options and… it freezes the PS3 again.

I don’t want to be disparaging - especially given all the hard work that’s been put in, but all round it’s been a solid, thoroughly underwhelming “Meh”.

Honestly I kinda resent that so much hard work went into this huge unwieldy project instead of small, frequently-updated, competitive standalone emus. E.g. on the classic XBox there were several SNES emus each with distinct advantages. They all ran pretty well out of the box without issues and recompiling from source isn’t such a big task (not that you ever had to, mind). E.g. there are so many solid emus for the PSP which perform great and look good over component cables.

I guess it’s just a massive shame that things seem to be moving to PS4 already and this was left in a fairly unusable state compared to similar standalone offerings on the XBox or PSP scene.

Cheers!

1 Like

Yeah, the PS3 port has been neglected for a number of years now. However, I can address a few issues:

1.) re: 2-button mapping, we default to the physical location of the buttons on the original console/controller. If you look at a Game Boy, B is cross and A is circle, so that’s how we do it. You can always move them around later using the input remaps (quick menu > controls), which you should be able to create automatically.

2.) re: stuttery NES, which core were you using? There’s not actually any “default” cores, so if one isn’t performing as you would expect, you should be able to try a different one.

3.) re: scanning, yeah, I believe the default behavior is to scan games on launch, and that causes problems on some resource-constrained platforms. We should probably just disable scanning and playlists altogether on most of the console platforms.

4.)

Honestly I kinda resent that so much hard work went into this huge unwieldy project instead of small, frequently-updated, competitive standalone emus

People work on what they want to work on. I assure you: most of the people that have worked on RetroArch would not have put those hours into working on standalone emus for a weird, hacked console. In fact, the reason the PS3 port has stagnated (and functionally degraded, as things like scanning and playlists have sort of left it behind) is because no one wants to test it, let alone work on it.

Hi, cheers for the quick reply!

  1. Re: “We default to the physical layout” But have you ever held a GameBoy? -the buttons are smaller -they’re closer together -they have more travel -your forefinger has more freedom than a DS3 -easier to depress fully from an edge -aren’t at a hard 45degre angle.

It doesn’t feel at all like X & O. Plus the Master System and NES have horizontal layouts, so that notion doesn’t hold.

E.g. The genesis too has a roughly horzontal layout… Using the base of the thumb as a pivot point, the physically-based mapping would be Square->Tri->Circle in a clockwise arc. Or starting with the leftmost button on X, like NES/SMS, it would be Cross->Circle->Triangle.

But in this one case we got the comfortable choice instead of the idealistic choice?

  1. Stuttery Cores: In truth, it was FCEUmm(top of list) but NESTopia was the same and QuickNES (lol @ the name) wasn’t mapping tiles properly ( the screen was offset by about horzTilesPerScreen/2 ) so none of them were really usable.

Strange though, 'cause the following have no such issues: -TwinAphex’s unofficial RetroArch release -TwinAphex’s NES standalone (RA’s FCEUmm core) -webMAN’s bundled RetroArch release

Likewise TwinAphex’s standalone (forked-from-RA) genesis emu outperforms the official RA release in the audio department.

Is there still some kinda scanning or background task stealing cpu cycles?

  1. “… would not have worked on standalone emus for a weird, hacked console”

But people always have and continue to do so!

There are PS3 standalones for MAME,FCEU,NESTopia,SNES9X,etc as there has been on the XBox, PS2, PSP, etc. People putting their heart & soul into their own pet projects like the PSP N64 emu with a crazy fast dynarec. While IIRC (and correct me if I’m wrong), the official line on the PS3 is “no openGL, no N64”.

Personally I prefer opening a standalone and having the roms listed on launch. I can’t help wonder if the time spent chasing feature-creep (playlists, scanning, etc) could have been put to better use optimising one good core per system vs “everything under one roof” (like when Microsoft tried to Metro-Tile all the things in pursuit of an idealistic goal and ruined a few OSes in the process).

I’m not saying I hate RetroArch; I’m very thankful for the project and all the hard work that’s gone into it by countless individuals. Just sounding like it’s too big and unwieldy for small agile teams to complete and keep up in their free time though. E.g. big commitments stifling creativity.

P.s. wasn’t made obvious that testers are needed; sticky probs wouldn’t go amiss?

Genesis retropad mapping is just like you described, but along the bottom instead of along the top. I don’t see the problem.

Again, people work on what they want to work on. It’s not helpful (quite the opposite, in fact) to say “all the time you spent was a waste because it wasn’t spent on the things I care about.” The only RA/LR developer who cared about the PS3 release was Twinaphex and he’s exactly the guy that’s prioritized scanning and playlists, etc.

Everything in the ecosystem is open source, so if you want to see standalone forks of libretro cores for PS3 with the default mapping you think is best, have at it. Embody the change you wish to see.

The frontend doesn’t know anything about the emulated system. Mapping b to b and a to a makes sense because not everyone is using a Dualshock Style pad, a user with a nes style pad would be entirely locked out if the mapping was YB for BA.

Daedalus was great but it’s far from usable. Crazy fast dynarec or not. I’m in the use whatever suits your use case better boat. Like RA, learn the ropes and use RA. Like standalones, use them. Neither solution is perfect.

For all the flaws Ra has at least it gives users choice. I agree on the scanner. It sucks.

1 Like

@hunterk

Gens mapping:

Nah, that’s what I was saying; in some cases the comfortable choice was picked ( when there were other options ) in other cases it wasn’t. Radius has summed it up nicely though.

“…All the time was a waste…”

Seems like it might have been in vain - not because it’s something I’m not keen on, but because so much time, patience and optimisim was added to a working release which is now pretty broken (and by the sounds of it pretty abandoned). Obvs I don’t know the situation surrounding why it got into this state, but it’s quite sad tbh after all that work. Not gloating, it just is.

Embody the change you wish to see:

I considered it tbh, checked out a few repos - I do this kinda thing for a living … but we already have multiple stable releases of the popular cores; there doesn’t seem to be a need right now. Maybe if I ever get a PS4.

@radius

“… frontend doesn’t know …”

I think you’re saying if someone’s trying to use an NES controller, they could use the menu fine but they’d have to remap to get the 2nd button at all (vs the rest of us only having to remap for comfort’s sake). That finally makes sense, cheers. Well it would if the PS3 build supported external pads, lol. I get your point though.

( assuming it internally maps the PS3’s X & O on buttons 14 and 16 to like button 0 and 1 in the first place to allow this )

Vaguely interesting note on NES/SNES pad button ordering btw: NES pads on the NES : A is bit 0, B is bit 1 ( after all the shifty shift registering through the front port ) SNES pads on the SNES : B is bit 0, A is bit 9 For the SNES, Y is on bit 1… e.g. the intended NES->SNES mapping is definitely Y&B, but like you say, not always feasable.

Daedalus:

Did you have issues with it? I’ve played a ton of Mario 64, but nothing else.

“…whichever suits…”

Inclined to agree with you, especially after finding out the other releases work so well!

Old releases are still available via github in the form of source snapshots, we should don’t supply builds. You can even compile older releases against new cores.

Re: Daedalus, I have no experience with it myself, but I’ve heard it described as “a Mario 64 emulator”.

My circa 2001 quality LP of SMB1 (playing one handed with my phone recording) with a slightly older PS3 build:

It runs fine. I have plenty of complaints about Retroarch, but NES games not working isn’t one of them. I show the options I have toggled, mostly in focus, at the end of the video.
1 Like

Thanks for that, looks way more playable! I’ll poke around older builds. Fail on the one handed flag grab tho :stuck_out_tongue: