Retroarch PSX and Saturn Overrides

admin

Administrator
Staff member
There were two overall goals with these:

Goal #1 was to ensure that the image was properly scaled to the top and bottom of the screen for all of my games. Something you'll notice if you play a lot of PSX games using RA Beetle PSX is that the aspect ratio settings that work best (scale to the top and bottom) for one game doesn't necessarily do the same for another game. This is because there's a wide array of resolution modes used in the PSX library that are entirely game-dependent, so what works for one thing won't necessarily work for another. Thankfully, overrides give us the flexibility to custom tailor these as we need from one game to another. What I found worked best was one of three scenarios:

"AR Setting 1"
Aspect Ratio = Core Provided
Integer Scaling = Off

"AR Setting 2"
Aspect Ratio = Custom
Custom Viewport Width = 1600 (5x)
Custom Viewport Height = 1200 (5x)
Integer Scaling = On

Other
Aspect Ratio = Custom
Custom Viewport Width = [customized per game]
Custom Viewport Height = [customized per game]
Custom Viewport X = [customized per game]
Custom Viewport Y = [customized per game]
Integer Scaling = Off

Most games fall into one of the first two categories. AR Setting 1 is what I'm using as a Core Override base. AR Setting 2 was used in per-game overrides as needed and when something more unusual came up I created a per-game override using custom width, height, X, and Y settings.

Goal #2 was to setup each game to use the appropriate controller settings for that specific game. During the lifetime of the PSX there was quite a range of controllers, starting with the regular old d-pad-only gamepad up through the original dual shock controller. Support for the later controllers varied by game. The original pad (called "PS1 Joypad" in Retroarch) + Analog to digital type = Left Stick is used as the Core Override base. If the game supported it, either Dual Analog or Dual Shock was used as an override. For these, the analog to digital type is set to none (because otherwise you'll still be sending d-inputs) unless it's one of the instances where a game actually supported the vibration function of the dual shock controller but did not support actual analog input (there are a number of such cases); for those the analog to digital type is set to left stick just like the original PS1 Joypad ones, but you'll have vibration as well.

Complete PSX and Saturn Audit Sheet
483 PSX / 109 Saturn titles covered

The sheet shows what was used for each game along with the name of the relevant override file. The file name is important because it must match the filename of the game you want to use it with exactly in order for Retroarch to know that it needs to apply it. This means you're going to need to rename the configs to match your game if it's named differently. On that note, I'm using .m3us for all multi-disc games (.pbps would work as well), which means that there's only one override for those games (because it just needs to match the .m3u/.pbp filename) but if you don't use one of those and just have several disc images that you individually direct at Retroarch, separate overrides would need to be made to match each disc filename. You should really be using either .m3u or .pbp for those though...

Another caveat is that these are designed for a 1080p display; if you're using a different resolution, the AR settings more than likely won't be correct for you.

If a game used AR Setting 1 and the original controller, no game override is necessary as those are covered by the core override.

Also, these are designed for the Core Option settings of Renderer = Software and Internal Resolution = 1x (native). You might be able to get away with alternate settings for those, depending on the game, but I can't guarantee the AR settings will be correct.


This is the full list of core options (from retroarch-core-options.cfg) that I normally use for Beetle PSX HW (note that 32-bit color depth doesn't actually do anything in software rendering, but I leave it there for when I do want to try out either vulkan or opengl renderers, at which point I turn dithering mode to off; the PGXP options don't do anything in software mode either):



Reveal hidden contents



One final note is that I'm using the CRT-Hyllian-Multipass shader in the core override (Beetle PSX HW.cfg) so that will apply to all your games unless you change it in the core override. You can edit the Beetle PSX HW.cfg file and change the "video shader = " line to a different shader or just remove the entire line. You could also just do this via Quick Menu -> Save Core Override, but you'll need to be careful that you don't accidentally overwrite a setting that you actually need as a base for these to work (listed below). CRT-Hyllian-Multipass is a good one because it looks good, it's super lightweight, and it looks correct even without integer scaling (which is super important for these). CRT-Aperture is a good choice as well.


59b743e225856_BeetlePSXCoreOverride.thumb.JPG.20dfd00f0e74c3430946559c2b7dd1a2.JPG


Oh, and a final final note (we'll call this Goal #3) is that there are some PSX (and Saturn) games (primarily fighting games) that are in interlaced 480i format. I made some custom deinterlacing shader presets that I use for these games to remove interlacing artifacts and it's enabled in their overrides (they're noted on the audit sheet). The presets are included below. These just need to be placed in the base Retroarch\shaders folder.

The overrides need to be placed in your Retroarch\config folder so the path should look like Retroarch\config\Beetle PSX HW\[config name].cfg

Notes on the Saturn overrides can be found here and here.
 
Top