Zombeaver Posted March 3, 2017 Share Posted March 3, 2017 Current version date: 8-30-18 - Updated overrides to use new aspect ratio numbers for Retroarch 1.7.4 (they will not work correctly with older versions). Older versions of the overrides are still available for older versions of Retroarch. Introduction: Spoiler Hey guys! For the last couple weeks I've been working on full audits of several platforms in my library after updating Retroarch to version 1.4.1. I had a number of goals for this, which varied by platform, but not the least of which was a desire to pare down the way I had some things setup in my LB library. In the past I've had Retroarch split out into multiple emulator entries in Launchbox to account for a number of different common scenarios. Basically you would duplicate a core dll, rename it slightly based on what you want it to do differently from normal, create a new entry for it in LB and name it accordingly, assign that emulator to a game, load it up and change your settings as necessary. This was handy for things like Super Scope or other scenarios where something needed to be changed for certain games within a platform but not all - split it out into a new entry in LB, set your Super Scope games to use that emulator entry, load up a game and set it to use Super Scope. Over time that got a bit more and more out of hand - it's not a terrible solution by any means but I'm nitpicky and it was getting to the point where I had about 10 different Retroarch entries clogging up my emulator list... Overrides, enter stage left. One of my favorite additions in RA 1.4.1 is overrides. Basically these are small, pinpoint configs that inject altered settings for just about anything - video settings, input settings, shaders, whatever - and they can be saved at the per-core or per-game level. They're then loaded in priority. Game Config > Core Config > Base Config (retroarch.cfg unless one is specified) with the higher priority overriding the lower. What this means is that you can have certain settings set as a baseline, then if you want slightly different settings that apply to all games loaded with a specific core you can load the core, load up a game, make changes in your settings the way you want, and then go to Quick Menu -> Save Core Overrides. Now, whenever you load a game with that core, it will automatically use those altered settings. If you want to change settings for a specific game, do the same thing as before - load up the core, load up a game (it will default to your core override settings if you've made one), then make whatever changes you want and go to Quick Menu -> Save Game Overrides. Now whenever you load that specific game it will automatically apply your customized settings for that game. This is awesome because it really lets you fine tune how your games are setup on a game by game basis and they're very easy and fast to create. I posted some additional information in this thread if anyone's curious. So! It occurred to me that if I was going to go to the trouble of getting all of my stuff setup with overrides, I might as well share those so that others can use them as well. The first batch of these that I'm sharing are ones for my PSX games using the Mednafen PSX HW core (now Beetle PSX HW). 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): Spoiler beetle_psx_hw_renderer = "software" beetle_psx_hw_renderer_software_fb = "enabled" beetle_psx_hw_adaptive_smoothing = "enabled" beetle_psx_hw_internal_resolution = "1x(native)" beetle_psx_hw_filter = "nearest" beetle_psx_hw_internal_color_depth = "32bpp" beetle_psx_hw_wireframe = "disabled" beetle_psx_hw_display_vram = "disabled" beetle_psx_hw_pgxp_mode = "memory only" beetle_psx_hw_pgxp_caching = "disabled" beetle_psx_hw_pgxp_texture = "enabled" beetle_psx_hw_dither_mode = "1x(native)" beetle_psx_hw_scale_dither = "enabled" beetle_psx_hw_initial_scanline = "0" beetle_psx_hw_last_scanline = "239" beetle_psx_hw_initial_scanline_pal = "0" beetle_psx_hw_last_scanline_pal = "287" beetle_psx_hw_frame_duping_enable = "disabled" beetle_psx_hw_widescreen_hack = "disabled" beetle_psx_hw_crop_overscan = "enabled" beetle_psx_hw_image_crop = "disabled" beetle_psx_hw_image_offset = "disabled" beetle_psx_hw_display_internal_framerate = "disabled" beetle_psx_hw_analog_calibration = "disabled" beetle_psx_hw_analog_toggle = "disabled" beetle_psx_hw_enable_multitap_port1 = "disabled" beetle_psx_hw_enable_multitap_port2 = "disabled" beetle_psx_hw_cpu_overclock = "disabled" beetle_psx_hw_cdimagecache = "disabled" beetle_psx_hw_skipbios = "disabled" beetle_psx_hw_use_mednafen_memcard0_method = "libretro" beetle_psx_hw_enable_memcard1 = "enabled" beetle_psx_hw_shared_memory_cards = "disabled" 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. 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. Beetle PSX HW Overrides 8-30-18 (RA 1.7.4+).zip Beetle Saturn Overrides 8-30-18 (RA 1.7.4+).zip CRT Deinterlacing.zip PLEASE NOTE: If you're using Retroarch version 1.7.8+ some changes were made to how shaders were handled, which means you'll need to use the files in the attachment below rather than "CRT Deinterlacing.zip" above. Be aware that you'll also need to rename the presets to match your own files, just like with the overrides. 1.7.8+ Deinterlacing.7z Older (pre RA 1.7.4) versions: Spoiler Beetle PSX HW Overrides 11-22-2017.zip Mednafen Saturn Overrides 9-24-2017.zip Let me know if you have any questions or issues! Obviously this isn't everything in the PSX library - I curate my library so I've "only" got a little under 500 PSX games but this makes a big dent. 6 6 Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 5, 2017 Author Share Posted March 5, 2017 I've added the following games to my library, many of which needed overrides. The sheet has been updated with more details and the download has been updated. Alone in the Dark: The New Nightmare Cyber Sled Defcon 5 Destruction Derby 2 Fox Hunt Lode Runner Lost World: Jurassic Park Mortal Kombat Trilogy Novastorm Novastorm Nuclear Strike O.D.T. Pong: The Next Level R4: Ridge Racer Type 4 Rampage World Tour Rayman Resident Evil: The Director's Cut (Dual Shock) Road Rash Shadow Madness Shooter Starfighter Sanvein Soviet Strike Space Griffon VF-9 Spider: The Video Game Star Wars: Dark Forces Starblade Alpha Street Racer Strider 2 Sydicate Wars Tall Infinity: The Tower of Wisdom Tekken Tenchu World's Scariest Police Chases Wu-Tang: Shaolin Style WWF Wrestlemania: The Arcade Game 3 Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 5, 2017 Author Share Posted March 5, 2017 Also, if anyone's eyes glazed over half way through reading that wall of text or read it all and still has no idea what I'm talking about regarding the aspect ratio correction... I added pretty pictures! The images with a gap at the top and bottom are the unaltered ones with Aspect Ratio = Core Provided + Integer Scaling = Off and the following image is with my overrides. Quote Link to comment Share on other sites More sharing options...
Thatman84 Posted March 5, 2017 Share Posted March 5, 2017 Hell of a job dude... starting on a full(ish) PS1 set soon maybe I will contribute to this in a couple of months. 1 Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 6, 2017 Author Share Posted March 6, 2017 Thanks @Thatman84! This will probably be my last batch. At this point I've got basically everything I want in my library. I've added the below games, many of which required overrides. The sheet has been updated with further details and the download has been updated. Ace Combat 3 Air Combat Alundra 2 Ballistic Battle Arena Toshinden 4 Battle Hunter Beyond The Beyond Blast Radius C: The Contra Adventure Chronicles of the Sword Circuit Breakers Contra: Legacy of War Darklight Conflict Dracula: Resurrection Dracula: The Last Sanctuary Dragon Seeds Dragon Valor Intelligent Qube Irritating Stick L.S.D. Dream Emulator Metal Gear Solid: VR Missions No One Can Stop Mr. Domino Perfect Weapon Swagman Tatsunoko Fight Team Buddies The City of Lost Children The Italian Job Thunderstrike 2 WarJetz World Destruction League - Thunder Tanks Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 8, 2017 Author Share Posted March 8, 2017 I've changed Cyberia to a custom aspect ratio override. AR Setting 2, which is what I had it on previously, didn't actually scale it all the way. 1 Quote Link to comment Share on other sites More sharing options...
crusadeRGP Posted March 11, 2017 Share Posted March 11, 2017 Thank you so much for doing this. Any chance Sega Saturn using Mednafen core will be done too?Sent from my HTC6525LVW using Tapatalk Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 11, 2017 Author Share Posted March 11, 2017 On 3/11/2017 at 0:33 AM, oilertitanfan said: Thank you so much for doing this. Any chance Sega Saturn using Mednafen core will be done too? Sent from my HTC6525LVW using Tapatalk No problem! As far as Sega Saturn, I actually haven't found this to be an issue for it - the following settings seem to work fine for everything (with one exception, which I'll get back to in a moment). Note 9/11/17 - after I did a closer inspection there was some cutoff with these settings for some games. There's none in the custom overrides I've made. Aspect Ratio = Custom Custom Aspect Ratio Width = 1510 (5x) Custom Aspect Ratio Height = 1200 (5x) Integer Scale = On I have these settings saved as a core override and they seem to work great for everything (I've got about 80 Saturn games in my library, nearly all of which use RA Mednafen Saturn). I do have the games that are in interlaced 480i (similarly to PSX, they're pretty much all fighting games) setup to use the deinterlacing shader, but the aspect ratio/resolution/view port settings are unchanged. The one exception to this is the game Enemy Zero - and for it, it's not that the normal resolution/AR settings are wrong, it's that the game itself is in a letterboxed format on a normal 4:3 display (so on a 16:9 display it has space on all sides). As result, I made an override which essentially crops it so that it's in a full-scale 16:9 format. There's some cutoff on the main menu but I think that's it - the game itself seems to all be in the odd format.Enemy Zero.cfg There isn't much to do in the way of controller customization yet either as the 3D pad still isn't supported in RA Mednafen Saturn. Once that's implemented I'll probably be making some overrides, where relevant, for that. 1 Quote Link to comment Share on other sites More sharing options...
crusadeRGP Posted March 11, 2017 Share Posted March 11, 2017 Will give these settings a try once I upgrade RetroAch to version 1.5 great job againSent from my HTC6525LVW using Tapatalk Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted March 11, 2017 Share Posted March 11, 2017 Useful thread to follow. Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 11, 2017 Author Share Posted March 11, 2017 I added the below games to my library, several of which needed overrides. Further details are on the sheet. Bust A Groove Bust A Groove 2 Dynasty Warriors Evil Dead: Hail To The King Hexen Magic Carpet Rampage 2: Universal Tour Rhapsody: A Musical Adventure Road Rash 3D Road Rash: Jailbreak For Bust A Groove and Bust A Groove 2 I made overrides that have an increased Hard GPU Sync frame delay. This helps cut down on input latency which is especially important for rhythm games. I went back and did the same thing for Parappa The Rapper and Um Jammer Lammy as well. I found that this made a pretty significant improvement. I'm using a delay of 10 though, which is pretty high - and if it's too high for your computer to handle it'll cause the game to stutter. If that happens, just reduce the number until the issue goes away. You want it as high as you can get it (without impacting performance) because the higher it is the less input latency. 1 Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted March 15, 2017 Author Share Posted March 15, 2017 So I made an improved version of the CRT Deinterlacing shader earlier today and in the process realized that the one I uploaded previously had absolute (not relative) paths setup so... it wouldn't have worked for anyone other than me anyway. I've updated the original post with it and I went back and updated all the relevant overrides to use it rather than the previous version. 1 Quote Link to comment Share on other sites More sharing options...
angel_x Posted April 27, 2017 Share Posted April 27, 2017 (edited) Hi I am new to this, I tried applying your CRT Deinterlacing v4.glslp but nothing changes I can still see the interlace. I'm test it with Dead or Alive game on PlayStation (Beetle PSX) Core. Do I need to download other shaders for your shader to work or am I missing another step? I am using Retroarch 1.4.1 Thanks. Edited April 27, 2017 by angel_x Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted April 27, 2017 Author Share Posted April 27, 2017 It does have dependencies on some other shaders - the glsl versions of crt-easymode, 4xsoft, and stock specifically. Go to Online Updater -> Update GLSL Shaders CRT Deinterlacing v4.glslp needs to be placed in Retroarch -> shaders (the base, not one of the subfolders) Load up a core, start a game, and then go to Quick Menu -> Shaders -> Load Shader Preset and then you should see CRT Deinterlacing v4.glslp which you should select. I use Mednafen PSX HW (Beetle PSX HW now), specifically, but it's not core-dependent. I use it with some Saturn games and Mednafen Saturn (Beetle Saturn) as well. Quote Link to comment Share on other sites More sharing options...
Napalm2016 Posted April 27, 2017 Share Posted April 27, 2017 Hi @Zombeaver Great work! I haven't setup PSX in Retroarch yet still got that to do, all Mine are ISO's what are the benefits of the of using m3u? Thanks Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted April 27, 2017 Author Share Posted April 27, 2017 m3u is for multidisc games, allowing you to swap discs in-game via hotkeys (open tray -> next or previous disk -> close tray) rather than having to exit the emulator and restart it with a different disc. There are further details if you click the link in the original post above where I mention .m3us. 1 Quote Link to comment Share on other sites More sharing options...
Napalm2016 Posted April 27, 2017 Share Posted April 27, 2017 Ah great thanks Ill check it out Quote Link to comment Share on other sites More sharing options...
angel_x Posted April 28, 2017 Share Posted April 28, 2017 (edited) Thanks, it works, probably my shader was out of date? By the way, the shader settings makes it looks a bit blurry. But, Ii guess that is better than nothing. On the other hand, I just wondering if the emulator itself could apply deinterlace without needing any shader? Or the emulator don't have the capability yet? Edited April 28, 2017 by angel_x Quote Link to comment Share on other sites More sharing options...
Zombeaver Posted April 28, 2017 Author Share Posted April 28, 2017 It does look slightly blurry, that's intentional and unavoidable if you really want to get rid of the interlacing artifacts. It's either blurry with no artifacting or clear with artifacting To my knowledge, deinterlacing can only be accomplished via shader in RA. Standalone Mednafen does have a couple deinterlace switches (weave, bob, and bob_offset) but I'll go ahead and tell you that they're all pretty awful. I'll take slightly blurry over those any day. There are a couple of deinterlacing shaders that come with RA that you can try out - bob-deinterlace.glsl and bob-and-ghost-deinterlace.glsl - they're in the "misc" folder in shaders. They're less blurry but they don't completely eliminate the artifacting and, depending on which one you use and the game you use them with, you might get vertical jitter - usually on overlay elements like health bars and options menus. Quote Link to comment Share on other sites More sharing options...
LogicalEgo Posted April 28, 2017 Share Posted April 28, 2017 Beautiful man. Not you but the work. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.