Samba PS2 Share on Windows Through Virtual Guest
PS2 emulation by way of PCSX2 has made significant progress and is in most cases good enough. Recently, through the Analogue Pocket and similar devices I realized what I had been missing out on through emulation of SNES, GBA, GB(C), and other Arcade cores that have been solved by FPGA. It's subtle, but unshakable once experienced. So the same applies to the PS2, with my favorite game to test, Soulcalibur III. Naturally, a fighting game versus a RPG highlights the advantage of hardware over emulation. Same applies to DoDonPachi DaiOuJou.
Preamble out of the way and why I was able to justify buying a used PS2, here's the rub: sensor failure and disc rot. Not only do discs get scratched, but whether or not they do, they also just sometimes go bad, and even when they seem fine it's up to the aging optical reader of the system to cooperate.
Solution: use Free MCBoot and Open PS2 Loader to load completely legitimate ISO rips of your game library, keep the strain off the disk reader, and keep all your backed-up games safe in their respective cases.
Obstacle: loading over USB despite it's apparent convenience is slow; it's USB1.1 and it feels like it. If you're on an original model PS2 with room for a drive, that's one option. But it takes some song and dance and a bit of time to load games onto the internal storage, especially if it's a third-party SATA adapter without network. But loading ISOs over the network from a SMB share is a possibility.
Second obstacle: it's SMBv1, which is not very secure and requires manual feature activation in Windows.
Now, if you're already on Linux, you can skip to the bit below about Samba setup on the Linux host. Basically the idea is the same: we want to share the same directory of PS2 ISOs we're already using on that same machine for PCSX2.
Configuring the Windows Share
First, set up the directory of PS2 DVD ISOs to be shared on the local network. If you also want to share a directory of CDs, the steps will be duplicated mostly the same. Since there aren't many interesting PS2 CD games I know of, I'm just sharing the DVD directory.
Setup an Ubuntu Virtual Machine
The same principles apply to most hypervisors and distros, but I'm using Hyper-V Manager with Ubuntu. Using the "Quick Create", I made a 20.04 machine and have configured SSH to remote in from the Windows host. Set it up with an External Switch like so. This will allow you to give it an IP address on your local network visible by the networked PS2.
On the Linux Host
Install prerequisites:
sudo apt install samba cifs-utils
Now to setup the Windows PS2 ISO share. First, make a mount-point on the host:
sudo mkdir /mnt/ps2
Mount the share:
sudo mount -t cifs //$WINDOWS_IP/ps2 /mnt/ps2 -o user=$USER
Enter password as requested. Since this is a temporary mount, it is left as an exercise to the reader to add this to your /etc/fstab
.
Linux Host Samba
Now to configure the samba that will be exposed to the PS2, first let's create a separate directory to house not just the DVD
folder that OPL is interested in, but all it's other expected folders that it may or may not create (including CD
, etc).
mkdir ~/ps2smb
And symlink the shared ISO folder inside:
ln -s /mnt/ps2 /home/$USER/ps2smb/DVD
Add the following to the end of your /etc/samba/smb.conf
:
[global] client min protocol = CORE client max protocol = NT1 server max protocol = SMB3 server min protocol = LANMAN1 strict sync = no keepalive = 0 unix extensions = no [ps2smb] path = /home/$USER/ps2smb read only = no browsable = yes guest ok = yes create mask = 0777 directory mask = 0777 public = yes available = yes follow symlinks = yes wide links = yes
And enable and start the Samba server:
sudo systemctl enable smbd sudo systemctl start smbd
Open PS2 Loader Configuration
Assuming you've connected the PS2 to your network, turn it on to this menu:
For reference this is Version 1.966 of Free MCBoot.
Open up OPL:
Before we can load the games as shown, we need to setup the share. Open the Menu with Start. Select "Network Config".
Adjust your IPs to your own network setup:
OK or Reconnect and go back to the Menu. Make sure to "Save Changes" to persist the network configuration. Go back to the games list. After refreshing, it should populate.
Tags: ps2, retro-gaming, windows, linux