Ps2 Mx4sio Setup
10 Jan 2024 [playstation
ps2
console-mods
mx4sio
fmcb
opl
]
This post explains how to create a PlayStation 2 FreeMCBoot memory card and setup an MX4SIO SD card adapter using Linux.
You will need:
- A genuine Sony 8MB Memory card
- A Fat32-formatted USB flash drive
- Either a blank DVD and DVD-writer or an existing, working Free MC Boot memory card
- An MX4SIO adapter
- An SD card to store game images. 64GB or larger is recommended. Sandisk cards do not work
Creating an FMCB card
The easiest way to create an FMCB card is using FreeDVDBoot. You can also create a second FMCB card using an existing one. The process is the same in each case.
At the time of writing, the latest version of FMCB is 1.966 (and it’s been the latest version since 2008). This forum post has a download link.
Extract the FMCB v1.966 archive to the root of a FAT32 formatted USB drive. I have only tested this with relatively small (<= 32GB) USB 2.0 drives, though more recent types may work. The root of the USB drive should look like this:
├── Changelog-installer.txt
├── Changelog.txt
├── FMCBInstaller.elf
├── INSTALL
├── lang
├── licenses
├── README-installer.txt
└── README.txt
Using Free DVD Boot
Download the correct pre-built ISO for your PS2 version from the GitHub repo. There is one version for all Slim PS2s. For the fat models you need to check the version of your DVD drive firmware and download the appropriate version. You can burn the ISO to a blank DVD with the growisofs
utility. Install with:
sudo apt install growisofs
Burn with following command, where disc.iso
is the name of the ISO file:
growisofs -dvd-compat -Z /dev/sr0=disc.iso
Insert the burned disc in the PS2 and turn it on. It will launch the uLaunchELF tool automatically.
Using an existing FMCB card
Boot the PS2 using using the FMCB card as normal. From the system menu, select LaunchELF
.
Installation of FMCB to a new memory card
Insert the memory card on to which you want to install Free MC Boot.
Within the ulaunchELF app, use the controller to select the mass:/
device and select (run) the FMCBInstaller.elf
file.
If you get a black screen at this point you probably need to use a different USB drive. The installer can be a bit fussy. It should take no more than a few seconds for the installation utility to load after selecting it in uLaunchELF.
The README-installer.txt
file explains the various install options but unless you’re planning to use the FMCB card on several PS2 consoles, ‘normal’ is fine. You can optionally format the memory card and backup any saves it contains from within the installer.
If you booted from another FMCB card, make sure you select the correct (non-FMCB) one within the installer.
See the bottom of the launchELF screen to see what buttons do what. By default, Circle is used to select folders and run ELF files.
A freshly installed FMCB card includes the ulaunchELF application you’ve just used and which is needed in the subsequent steps.
Using the correct version of OPL
OpenPS2Loader is the program used to load PS2 games from mass storage devices and over SMB. It was designed with USB and (on the fat PS2) hard disks in mind and most versions will not work with the MX4SIO.
The following versions work:
- The ‘latest’ (1.2.0) version from the original Open-PS2-Loader repo releases page. As of January 2023, this was based on commit
c0da23a
. It’s pretty safe to assume that subsequent versions marked ‘latest’ will work but it’s not impossible something could break. Choose theOPNPS2LD.7z
file for the chosen release rather than any of the archives markedVARIANTS
orLANGS
. Works with exFAT - ‘v1.2.0.6-1996 Beta’ from the grimdoomer fork releases page. This is the latest of several releases in 2023 which fixed various bugs and added compatibility fixes for previously non-working games. All the releases are marked ‘Beta’ but since they’re also versioned it’s probably very safe to assume subsequent ones will work with MX4SIO. Works with exFAT
- The two Beta versions of OPL 1.1.0 linked in this forum post. Since there are two more recent versions available, there probably isn’t a good reason to use these versions anymore but for some time they were the only stable, working versions for use with the MX4SIO adapter. Note that v1627 is for the fat PS2 and 1629 is for the Slim PS2. Does not work with exFAT
Any other versions numbered 1.1.0 or lower will not work. At one point there was a version numbered 1.2.0 in the releases page of the ps2homebrew/Open-PS2-Loader
repo and you’ll see many references to it in forum posts and tutorials. The ELF files in the rolling ‘latest’ releases are all still numbered 1.2.0.
If you are having trouble getting everything working, use the specific grimdoomer version above, since it’s numbered and known to work. If you can’t see a list of games after configuring OPL (see below) then the problem is almost certainly with your SD card. Once you have a known, working SD card you can then test other versions
Adding OPL to the FMCB menu
Whichever version of OPL you use, it should contain at least an OPS2LD.ELF
file and an OPS2LD_PADEMU.ELF
file. The latter enables the use of DualShock 3/4 controllers with the PS2 and is recommended. Extract one to the USB drive. It doesn’t matter where.
- Start the PS2 with the FMCB card inserted in SLOT 0 (the left slot) and the USB drive inserted in the first (left) USB port.
- From the OPL menu, choose
LaunchELF
. - Navigate through the file manager to
mass:/
and highlight the OPL ELF file wherever it is stored on the USB drive. PressR1
(right shoulder button) and chooseCopy
. - Navigate back to the list of devices/drives in the launchELF menu (Triangle can be used to move to the parent dir) and choose
mc0:/
. Enter the ‘APPS’ directory and pressR1
, then selectPaste
. - Reboot the PS2
- Back in the FMCB menu, choose
Free MC Boot Configurator
. In the initial dialog you will be asked which OK/Cancel button convention you want to use. - Highlight
Load CNF from MC0
and click OK (X or Circle, depending on your choice above). - Highlight
Configure ODSYS Options
and click OK. - Highlight the line beginning
Configure Item 1:...
and use left/right on the D-Pad to find the first empty slot/item. Click OK. - Select the
Name
option and enter a name for the OPL menu item. Just ‘OPL’ is fine. - Highlight the first
Path
option and press Square. Navigate to theAPPS
directory inmc0:/
and select the OPL ELF file previously copied there.Pressing Square enables OPL to be used whichever slot the FMCB card is inserted in.
- Navigate back to the main settings menu
- You can optionally choose to boot straight into OPL by selecting the
E1 launch keys
option. Within the sub-menu change theAuto
option to path of the OPL ELF file (use the Square button again).You can still boot into the main menu at any time by holding one of the face buttons during boot. Booting straight into OPL is recommended if you plan to routinely use a DualShock 3 or 4 controller. These won’t work in the main system menu.
- Highlight the
Save CNF to MC0
line and press the OK button. - Reboot the PS2
A full guide to configuring FMCB can be found here
The MX4SIO adapter
You need an MX4SIO adapter. These can be bought on Amazon, eBay or AliExpress. They’re extremely simple and take advantage of the fact that the PS2 memory card protocol is more or less identical to the SPI protocol used by SD cards, so you can make them easily with a donor memory card and and an SD to microSD adapter.
On the face of it it’s an easy soldering job but care needs to be taken not melt the plastic housing of the SD/microSD adapter or to create a rough/raised surface on the pads which make contact with pins the PS2 memory card slot. Doing so can deform them.
Choosing an SD card
The MX4SIO/OPL combination is very fussy about SD cards. According to several online sources and in my experience SanDisk SD cards will not work. Plenty of others do, including many of the unbranded sort it’s usually best to avoid. Kingston cards are known to work well and I have successfully used the ‘SDCS2/256GB Canvas Select PLUS Micro SDXC CLASS10 UHS-I U3 V30 A1’.
Preparing the SD card
This section assumes Ubuntu is being used on the host machine. With the exception of the commands to install exFAT support, the instructions should apply equally well to other distros.
To install the exFAT dependencies:
sudo apt install exfat-fuse exfatprogs
Insert the SD card into your PC and use the following command to list all block devices:
lsusb
Be careful to identify the correct drive. We’ll use /dev/sdg
as an example. If the drive is mounted, run:
sudo umount /dev/sdg
Now partition the drive with parted
, using an old-style MBR partition table. Start parted’s interactive mode:
sudo parted /dev/sdg
Within interactive mode, run the following commands:
mklabel msdos
mkpart primary 0% 100%
Once done, press q
to quit. To change the drive’s partition type to exFAT, now run:
sudo mkfs.exfat /dev/sdg1
Alternatively, if you want to format the drive as FAT32, you can run the following command.
mkfs -t vfat /dev/sdg1
You will need to use FAT32 if you are running one of the Beta versions of OPL 1.1.0. Unless you have a good reason, stick with one of the versions which supports exFAT as it saves a step when transferring games to an SD card.
Remove the SD card and re-insert it. It should mount automatically.
If this process doesn’t produce an accessible partition, run
sudo partprobe /dev/sdg
.
Creating images of PS2 games
Whether the PS2 game concerned is on DVD or CD, the process is the same. This assumes your DVD drive is attached at /dev/sr0
:
umount /dev/sr0
dd if=/dev/sr0 bs=2048 of=./ps2-game.img count=$(isosize -d 2048 /dev/sr0) status=progress
Images created in this way can be used directly with the MX4SIO adpater and OPL (see below).
Converting CD images to ISO
If you have previously made an image of a CD game using different software, it may be in ‘cue/bin’ format. Images in ‘cue/bin’ format cannot be used with OPL without being converted. Fortunately it’s very simple. Install the bchunk
command-line tool:
sudo apt install bchunk
A game in this format will be comprised of two files (.cue and .bin), e.g. Quake III Revolution.cue
and Quake III Revolution.bin
. In which case, use the following command:
bchunk "Quake III - Revolution.bin" "Quake III - Revolution.cue" "Quake III - Revolution.iso"
There’s no advantage to the cue/bin format with PS2 CD games. For games on other systems, which used CD audio, it’s essential to use cue/bin (or equivalent) because the ISO format is only capable of storing data tracks.
Copying games to the SD card
Create directories called DVD
and CD
in the root of the SD card. Copy ISOs for DVD games to the DVD
directory and ISOs for CD games to the CD
directory.
If you insert a freshly formatted SD card into the MX4SIO adapter and load OPL from the FMCB menu, having configured OPL as below, then switching to the (empty) games list for the SD card will create the
DVD
,CD
and various other directories used by OPL.
If you have forgotten whether a previously created ISO is a CD image or a DVD image then assume that anything less than 700MB in size is a CD image (if the source was a ‘cue/bin’ image then it definitely came from a CD).
Copying games to a FAT32 SD card
The ability to avoid the steps here is why it’s much better to use an SD card formatted with exFAT and a version of OPL which supports it.
There may be some OPL versions where these steps only have to be carried out for DVD images over 4GB in size, meaning images for smaller DVDs or CDs can simply be copied over as above. I haven’t tested this.
You need the iso2opl
tool from the OPL repo.
git clone https://github.com/ps2homebrew/Open-PS2-Loader.git
cd Open-PS2-Loader/pc/iso2opl
ls -la
make
sudo cp ./bin/iso2opl /usr/local/bin
exec $SHELL
The iso2opl tool has a useful help page. Just run iso2opl
without arguments to see it. The tool takes four arguments:
- The source ISO
- The mount point of the SD card
- The name of the game as you would like it to appear in the OPL menu
- The disc format (must be ‘DVD’ or ‘CD’)
So to transfer our Quake II image to an SD card mounted at /media/user/7DB7-5832
, the command would be:
iso2opl "Quake III - Revolution.iso" /media/user/7DB7-5832 "Quake III Revolution" CD
Running and configuring OPL
Boot the PS2 with the FMCB card in SLOT 0 (left) and the MX4SIO adapter in SLOT 1 (right), with the SD card inserted in the adapter.
In the FMCB menu, select the OPL menu item created earlier. This isn’t necessary if you chose to boot straight into OPL when setting up FMCB.
If this is the first time OPL has been run it will start in the main menu. Choose Settings
.
How the settings menu appears will depend on which version of OPL you are using. The following assumes v1.2.0 or above.
In the bottom section of the menu is a list of game storage locations. Change the setting for BDM
from Off
to Auto
.
A new Block Devices
option will appear. Select it and within the sub-menu which appears, ensure the MX4SIO
option is enabled.
Within the settings menu you may wish to choose which menu OPL loads when started.
Return to main menu.
If you are using a DualShock 3/4 controller it will work in the OPL menus but not in games unless you explicitly enable it. Within the PADEMU
menu, ensure Global
is selected at the top and in the bottom section enable controller emulation for P1
(and any other players, as needed).
Return to main menu and select Save Changes
.
Press the Circle button to open the games list. Within the games list menu, with ‘BDM’ selected at the bottom and MX4SIO selected at the top, any games stored on the SD card should be visible (use the D-Pad to move between the games lists for different storage devices if you have more than one enabled).
Using a virtual memory card
Using the FMCB card to save games risks corrupting it, though it does work. To avoid this you can setup a virtual memory card (VMC) in OPL.
Within the games list select a game and open the options menu. From here you can choose ‘VMC’ and select or create a new VMC. Multiple games can use the same VMC and since creating them takes a little time, it’s a good idea to create a 64MB card and re-use it.
Use of a VMC has to be enabled on a game-by-game basis, otherwise the physical memory card(s) attached to the PS2 will be used by games loaded via OPL instead.