Emulating PS1 on (New) Nintendo 3DS
I recently caught a bug to play the artfully done Policenauts fan translation. I’ve been playing my 3DS a lot lately so I figured why not try and run it there? Surprisingly PS1 emulation works quite well once configured properly. I’ve tried Xenogears and Policenauts and they both run at 100%. Save states also work perfectly. This is all thanks to all the great folks contributing to PCSX-ReARMed, libretro, devkitPro, MAME, as well as the community for documentation.
Supposedly this only works for the New 3DS. Your mileage may vary.
I’d highly recommend reading over this entire post before trying to follow along. There are a few tricky steps!
Prepare your games
Create backups for each disc you want to play.
Install chdman
(MacOS 10.13 and above): brew install rom-tools
Compress BIN+CUE to CHD using chdman: chdman createcd -i game.cue -o game.chd
For multi-disc games, put all your CHDs in the same folder and create a .m3u playlist file. This command will do it for you and name it the same thing the directory is named:
Recommended: test your CHD/M3U in an emulator like duckstation.
Put your games on your 3DS SD card. I put mine in /roms/ps1/
.
Optional: create a backup of your PS1 BIOS and transfer scph550X.bin
to your SD card. PCSX claims to work better with a BIOS backup but I haven’t actually tested the difference.
Install Retroarch
Install custom firmware: https://3ds.hacks.guide
Download & extract retroarch 3ds build (latest stable): https://buildbot.libretro.com/stable/1.17.0/nintendo/3ds/RetroArch_cia.7z
Inside the retroarch_cia/
folder, there are two folders: cia/
and retroarch/
. cia/
isn’t used and can be discarded. Navigate to retroarch/cores/
and delete any cia’s that you don’t need. In my case I only want to emulate PS1 so the folder only has info/
folder and pcsx_rearmed_libretro.cia
(can info/
be deleted?).
Download my PCSX configuration and place it in retroarch/config/PCSX-ReARMed/
(case sensitive).
Download my retroarch configuration and place it in retroarch/
.
The directory should look like this:
└── retroarch/ ├── assets/ ├── cheats/ ├── config/ │ └── PCSX-ReARMed/ │ └── PCSX-ReARMed.opt ├── cores/ │ ├── info/ │ └── pcsx_rearmed_libretro.cia ├── database/ ├── filters/ ├── overlays/ ├── remaps/ └── retroarch.cfg
Copy the entire retroarch/
folder to the root of you 3DS’ SD card.
Open FBI, navigate to the retroarch/cores/
directory and install PCSX. Do not delete the cia as retroarch will use it.
Close FBI and you should have PCSX on your home menu!
Configure PCSX
If you downloaded my configuration files, you can skip this step. If you experience poor performance, come here and verify your settings.
Out of the box PCSX doesn’t work very well. Toggling a few settings will greatly improve performance. Load a game and then tap the screen to access the quick menu.
Quick Menu > Core Options > Threaded Rendering = Asynchronous
Quick Menu > Core Options > GPU Plugin (Advanced) > Hi-Res Downscaling = enabled
Press B repeatedly until you navigate back to the main menu (not the quick menu).
Main Menu > Settings > Video > Synchronization > Vertical Sync (VSync) = disabled (enable this for 2d games)
Main Menu > Settings > Audio > Synchronization > Syncrhonization = enabled
Main Menu > Settings > Drivers > Audio = dsp_thread
Main Menu > Settings > Directory > System/BIOS = wherever you put your legally obtained BIOS
Quit PCSX and reopen to reload the config.
Tips
To load a game:
Main Menu > Load Content > sdmc:/ (navigate to your .chd or .m3u file)
Add your games to favorites so you can launch them without navigating your SD card every time.
To swap discs for multi-disc games:
Quick Menu > Disc Control > Eject Disc > Current Disc Index = increment by 1, then insert disc
Using the quick menu causes the currently playing audio to glitch out until you resume the game. This is considered expected behavior.
Bathe yourself in the PS1 startup sound:
Quick Menu > Core Options > System > Show BIOS Boot Logo = enabled
If PCSX goes unresponsive, try closing the console and reopening it.
Play around with overlays in the quick menu.
Screenshots can be found in the same directory as your backups. You can change the directory in the main menu settings.
Further reading
The settings changes were taken from this reddit post: https://www.reddit.com/r/3dshacks/comments/jvkotb/full_speed_psx_finally_here_on_new_3ds_new_2ds_xl/jjtrbeu/?context=3
More info on CHD, chdman, and disc based game backups from Retro Game Corps: https://retrogamecorps.com/2023/02/06/the-ultimate-rom-file-compression-guide/