Emulation is all the rage in PC gaming. Not only does it allow you to relive the glory days of retro titles on your PC, it also often allows you to enhance your experiences with those games. Going back to play an old game – especially from the PS1 era – can often shock those who are surprised at how much better these titles look through nostalgia glasses.
Using RetroArch PS1 emulation, you can upscale and tweak these games to something that looks a lot closer to what you remember – and better.
Note: We’ve updated this guide to reflect the new UI that Retroarch has been using for a while now. If you’re still on the old XMB UI, then the guide still completely applies – it’s just that it will obviously look different on your screen.
You can also update the XMB UI to look like the new UI we use here. IN Retroarch, just go to Settings -> User Interface -> Menu and change it to “ozone”
RetroArch isn’t an emulator in and of itself – think of it as a hub for emulators and media accessible under a single, unified interface. Emulating games on PC usually means a full emulator and different program per platform, but RetroArch can actually emulate quite a large number of systems, all within a single program.
RetroArch’s emulators, called “cores,” are generally ported emulators from other developers in the scene. Some emulators, however, are actually made just for RetroArch, and because of this they may even be better than modern standalone emulators on the scene.
This is the case for leading RetroArch PS1 core, Beetle PSX, which we’ll be teaching you how to install and use in this article.
PS1 BIOS, Gamepad, and Other Things You Need
For optimal RetroArch PS1 emulation, you’ll want the following:
- A modern gamepad with dual-analogs. I recommend a PS3 pad for that authentic control experience or an Xbox One pad for better support. If using a non-Xbox pad, make sure you have an XInput driver/wrapper enabled.
- A modern Windows PC for best performance (and the most accurate guide) though RetroArch is cross-platform enough for this guide to work on other platforms.
- PS1 bios file corresponding to the global region of the game you want to play (US, Japan and Europe being the most common), placed into the ‘system’ folder of Retroarch
Expanding slightly on the note of BIOS files, we can’t legally tell you where to download these. What we can tell you is that the most common bios files are:
- scph5500 (NTSC – Japan)
- scph5501 (NTSC – US)
- scph5502 – (PAL – Europe)
- scph5552 (PAL – Europe)
You can check the default directory that Retroarch scans for BIOS files under “Settings -> Directory -> System/BIOS”.
Note that the BIOS file names are case-sensitive, so need to be written without caps, and suffixed with ‘.bin’.
A Few Settings to Tweak
As long as you have an XInput-enabled gamepad, you won’t need to do too much to have a good RetroArch PS1 emulation experience. However, there are a few things you’re going to want to tweak for an optimal experience. First, head over to “Options -> Input.”
Under ‘Hotkeys’, you can select a Menu Toggle Gamepad Combo, which will quickly take you to the Retroarch menu while you play. I recommend setting L3 + R3 as your shortcut..
If you’ve followed up to to this point, your controller is ready to use, and you’ve acquired the PS1 bios file(s) that you’ll need to play your games. Some games may work without a BIOS, but for full compatibility we highly recommend one.
Now, let’s get to the juicy stuff: installing the emulation core.
Create “.cue” Files for Your PSX Games
When you rip a PS1 game, you should always make sure that you do it into the BIN or BIN/CUE format. This will essentially divide the output files into the BIN file, which stores most of the game data, and the CUE file, which is what Retroarch searches for when you scan for PS1 games.
If for whatever reason you don’t have the “cue” file accompanying your “bin” file, or if your ripped PS1 game is in another format like “img”, then you’ll need to create a “cue” file for that game and put it into the same folder as the main image file.
Creating a CUE file is simple enough, and to make it even simpler you can use this online tool to generate the text for a cue file. Just drag-and-drop the game’s img or bin file into the box on the site, and it will generate the “cue” file text for it. Note that if the ripped PS1 game is divided into different audio tracks, you should copy them all into the online tool as well, so all the game files are contained in one “cue” file.
Then copy-paste the cue file text into a Notepad file, save it using the exact same file name as the game’s main image file, and save it in the same folder as the main image file.
Now, when Retroarch scans for your PS1 games (which we’ll move onto shortly), it will find them by the “cue” files you created, and add them to your library.
Install Beetle PSX (HW)
First, head to the “Main Menu -> Load Core -> Download a Core”.
Scroll down to Playstation (Beetle PSX HW). You can also choose the non-HW version, but I recommend using HW instead. Select it to install it.
Once installed, head back to the Main Menu then Load Core.
Find PlayStation (Beetle PSX HW) and select it! This will load the Core into RetroArch.
You’ve installed the core. Now, how do you get your games into RetroArch proper?
Launch Retroarch PS1 Games
Head back to Main Menu and select Import Content -> Scan Directory.
Navigate to the directory where you keep your PS1 games, then select <Scan This Directory>.
Select “Scan This Directory” to scan your games and get them added into RetroArch.
Now that they’re here, you can head back to the Main Menu. If you scroll over to the right, you’ll realize there’s a new menu made to hold your PS1 games. We’re going to launch the old shooter Loaded to demonstrate.
You’ve done it. You’re in the game and ready to start playing. But wait – the graphics look blown up and pixelated! How can you fix this?
Hit the gamepad combo you set for opening the menu in the game earlier. For me, this is L3+R3.
In the Main Menu, there’s now a “Quick Menu” option. Select it.
Within Quick Menu, you’ll see a lot of different options. Let’s cover the relevant ones.
The “Save State” options allow you to save a game’s state – pretty much exactly where you are. There are multiple slots for you to save in, and you can use these to skip normal saving or just before a difficult segment you want to keep trying. It’s up to you. Or you can forgo them entirely!
If your analog sticks aren’t being picked up, you may be playing a PS1 game that doesn’t support them. To fix this, head to Controls and set “User 1 Analog To Digital Type” to Left Analog.
Next, return to Quick Menu, scroll down to Options -> Renderer (restart), and select “vulkan” is selected or use “opengl” if your GPU doesn’t support it. Vulkan is the best option, though, and should provide full access to the extra features offered by RetroArch PS1 emulation.
Under “Quick Menu -> Options” there are a lot more graphical options to set. Here are the relevant ones and what to do with them.
- Software framebuffer/adaptive smoothing – Keep these on.
- Internal GPU resolution – Native is 240p, 2x is 480p, 4x is 720p, 8x is 1080p, and 16x is 4K. These aren’t exact, but they’re pretty much what you should expect out of quality – we recommend using 8x if your hardware can handle it, or even 16x if you want to forgo the need for AA and have the hardware power for it.
- Texture filtering – Multiple settings, but xBR and SABR are the best and shouldn’t require too much performance.
- Internal color depth – Change this from the 16bpp default to 32bpp for a bump in color depth at minimal performance cost.
- Wireframe/full VRAM – Leave these alone.
- PGXP Operation Mode – Turn this on to take advantage of some of the benefits of RetroArch PS1 emulation. Set it to “memory only” for the least visual glitches. Memory + CPU does look good in some games but can break others.
- PGXP Vertex Cache and Perspective Correct Texturing – Turn these on.
- Widescreen Mode Hack – This will result in some visual glitches on the outer borders of your screen but should look good in most games. Personal preference.
Shaders are visual filters that let you add all kinds of crazy stuff over your in-game graphics. You can smooth out edges using various degrees of antialiasing, give a border to your game, or try to recreate the authentic experience of playing on a 90s screen by adding a little bit of noise or scanlines to the image.
Here, aside from the “presets” folder, you’ll find three categories of shaders – cg, glsl and slang. Which one of these you use will depend on what video drivers you’re using and the power of your PC (shaders can be quite graphics-intensive).
To play around with shaders, once you’ve loaded a core and game, go to “Main Menu -> Quick Menu -> Shaders. Switch Shaders to “On”, then click Load.
CG shaders are best used for lower-end PCs and are compatible with gl and DirectX video drivers, GLSL work only with OpenGL drivers and Slang are exclusively for Vulkan.
With that in mind, head into whichever shader folder is relevant for your driver and have a play around.
You can add cel shading to a game in the “cel” box for example, which works very nicely for the game Loaded, in my opinion.
Or you can add retro CRT scanline effects under “crt”, for example.
Once you enable a shader, it will take effect right away, letting you see if you want to keep it. In the Shaders menu, you can choose to “Save Core Preset” or “Save Game Preset” to save the shader settings for that core or game respectively.
If you’re feeling brave, you can even go into “Shader Parameters”, fine-tune that shader to your liking, then save it as a new shader by going to “Save Shader Preset As” in the Shader menu.
Shader Passes lets you use multiple shader filters simultaneously (you’ll find that many shader presets already use several “Passes”). Note that each extra pass is more strenuous on your PC.