Playstation 1 Games on PS2 OPL

One of the best features of the Playstation 2 on its release was backwards compatibility with Playstation 1 games. In those recent years, no home console had been backwards compatible with its predecessor, mainly because of cartridges. So having a new console being able to play your current game library was a massive boost.

This was accomplished by including the original Playstation hardware inside of the Playstation 2. Over time, this extra hardware was shrunk, and eventually relegated to software emulation, which wasn't perfect.

Anyways, with getting OPL and a Games server working for the Playstation 2, I wanted Playstation 1 working in the same way. The overall process for Playstation 1 games is similar to Playstation 2 games, but the steps are different.

Here is my set up for the Playstation 2 with OPL, the file server, and everything else:
/returning-to-the-playstation-2

POPStarter

Even though the Playstation 2 has the Playstation 1 hardware for games, the games will be run in software. Unfortunately, there's no way around this. POPS is Sony's Playstation 1 emulator that runs on the ps2, and OPL's method of using this is called POPStarter. It stands for Playstation One Portable Station, probably.

Note: There are two ways of setting up Playstation 1 games and POPstarter using OPL and I'm using the old way. This way is only compatible using OPL Anniversary Edition. The latest versions of OPL have removed this method of execution for a newer method which has a slightly better success rate for compatibility. I'm not sure if it works through SMB, though.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/240601_ps2/IMG_5687_t.webp

Overall, my Playstation 2 setup is streaming games through the ethernet port using an SMB server hosted on a Raspberry Pi 3. I need to add POPStarter configuration on my memory card with Free McBoot. And then, there are some additional files required for the file server along with the games.

POPSTARTER Configuration for the Memory Card

Because I'm running Playstation 1 games from the SMB File Share, I needed to download a specific POPStarter setup for the memory card. I downloaded POPSTARTER.zip found on the following page:
https://www.psx-place.com/resources/popstarter.683/

When unzipped it will give a POPSTARTER folder. This entire folder will be copied to the Free McBoot memory card, but we need to change two things first.

First, we need to change the IPCONFIG.DAT file. This contains the ip details of the PS2. By default, here are the file contents:

PS2-IP-ADDRESS NETMASK GATEWAY

These details are all found in the Network Settings of OPL. The PS2-IP-ADDRESS is the IP address of the PS2 on the network. The Netmask is the same one in OPL. And the Gateway is the IP address of the File server. All of these are listed in OPL's Network Config menu.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/240601_ps2/IMG_1507_t.webp

Note: Originally, my Playstation 2 IP address was 192.168.0.10. POPS does not like it when the IPs of the Playstation 2 and the File Server are on different subnets, so I changed the PS2's IP address in OPL to 192.168.2.10. This solved my problem.

Here is my completed file:

192.168.2.10 255.255.255.0 192.168.2.1

Next, we need to change SMBCONFIG.DAT. This tells popstarter where the files are located on the network. OPL knows where the files are, but it doesn't tell POPS this information when it launches, so we need to add this information here. By default, here are the file contents:

PC-IP-ADDRESS PS2SMB
username
password

There's the server's IP address, the server's folder name, and the login details. I'm using the SMB Share setup on the Raspberry Pi, so here are my details:

192.168.2.1 share

There are no login details, so those lines are omitted. The share on the Pi is just share, and it's running on that IP.

Memory Card Installation

The POPSTARTER folder and all of its contents will be copied to the Memory Card with Free McBoot. To do this, we'll need to put all these files on a simple USB Drive and plug that directly into a USB slot of the PS2.

After turning on the PS2 with Free McBoot, you'll need to open uLaunchELF, which is a file browser for the Playstation 2. The drive marked mass is your USB drive, mc0 is the memory card in the first slot, and mc1 is the memory card in the second slot.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/240601_ps2/IMG_1510_t.webp

In mass, select (mark) your POPSTARTER folder, hit R1 to pull up the menu, and select copy. Navigate to mc0 for your Free McBoot card, hit R1 again, and select paste. This will copy your POPSTARTER folder to the memory card.

Your memory card setup is complete.

File Server Files

On the file server, Playstation 1 games are put in the POPS folder, but we need another file for the emulator to work, the emulator itself! The file for the actual emulator is named POPS_IOX.PAK. It's not too difficult to find through a Google search, but this file contains copyrighted information by Sony, so search at your own risk.

This last file we're going to need is POPSTARTER.ELF. ELF files are applications that run on the Playstation 2, and this is POPStarter application that runs the emulator. When you select a game in OPL, it will open that game with this application.

With everything set up, now we need some games.

Games

POPStarter and OPL requires Playstation 1 Games in the VCD format and using the same filename format as PS2 games. When you illegally download any Playstation 1 game, it'll most likely be in the bin/cue format. So, you'll need to convert them.

The best program to do this with is called PFS BatchKit Manager. It can be found on GitHub here:
https://github.com/GDX-X/PFS-BatchKit-Manager

PFS BatchKit Manager is a command line program for Windows, so Windows might complain when you try to open it. It should run within your OPL folder on your File server. Conversions are found under the Advanced Menu. Follow this route:

 -> 10. Advanced Menu
-> 1. Conversion
-> 1. Convert .bin to .vcd

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/240601_ps2/IMG_1495_t.webp

It will search the POPS folder for any bin/cue files, and process them. First, it'll combine all the bin files into a single bin file. Then it will convert to vcd. PFS BatchKit Manager will also rename your files with the Disc ID in the front and with the correct game name from their database.

I've had the process fail once or twice on large batches of files, so I always convert a few at a time. It can sometimes take a while, too, so I prefer going bit by bit.

This will complete the process for single disc games. You can open OPL Manager to double check the file names are correct.

Multi-Disc Games

For games with multiple discs, there is one more step to complete.

POPStarter doesn't read the PS2's memory card, so it will create a virtual memory card for saving. Memory card files are stored/indexed by Game Id, and this is problem with multi-disc games because each CD has its own Game Id.

Configuration files must be set up to tell POPStarter you are running a multi-disc game. This will allow memory card sharing among each disc AND it will allow you to swap game discs.

There's a script you can download called DISCS_POOPER.cmd, also Windows only. Place this script in the same folder with all the discs of a multi-disc game, run the script, and it will create the necessary sub folders and the configuration files needed.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/240601_ps2/IMG_1499_t.webp

You can find this by searching around, but I have a copy of it on my GitHub:
github.com/dyreschlock/ps2-opl-loadout/DISCS_POOPER.cmd

Put these folders and games in the POPS folder of your file server, and you're good.

Multi-Disc Controls

There are button commands used for multi-disc games to simulate opening the disc tray, inserting a different disc, and closing the tray. These commands are as follows:

·    To open the lid: Select + L2 + R2 + Triangle
·    To insert Disc 1: Select + L2 + R2 + Up
·    To insert Disc 2: Select + L2 + R2 + Right
·    To insert Disc 3: Select + L2 + R2 + Down
·    To insert Disc 4: Select + L2 + R2 + Left
·    To close the lid: Select + L2 + R2 + Square

These commands were found on this page: bitbucket.org/popstarter/multi-disc

Execution

With the Playstation 1 games put in the POPS folder, they will show up in OPL under the Playstation menu. Selecting them will run POPStarter. Unfortunately, even with everything set up correctly, not all games work with POPS. Some games won't open. Some games will open, but then lock up after the game starts. Other games will run with audio stuttering or graphics stuttering.

There's a Google Doc where people have submitted their compatibility issues with POPS, so prior to trying, you can check whether or not a game works.
POPStarter Playstation Compatibility Chart

Unfortunately, Final Fantasy VIII crashes at the beginning when trying to load the second cutscene in the game. :( But other games, such as Super Puzzle Fighter II, work perfectly for POPS.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/240601_ps2/IMG_1442_t.webp

Almost Perfect

Overall, it's not the perfect solution to playing Playstation 1 games that I want. But, it works for many games, and they can live alongside the Playstation 2 games on my file server. I don't need another process for them to work. Most of the incompatible games that I want to play, I have physical copies of anyways.