Introduction
After figuring out how to implement PS2 games into my Launchbox library properly i thought i'd share my findings.
This is a slightly different approach than the guide by Zombeaver. It has a bit more manual configuration work but
it's also more elegant in that it does not require a third party tool or individual command line options. It still features
individual configurations (and mem cards) for each game.
Step 1 - Setting up your PCSX2 installation:
You should be using one of the experimental 1.5.0 builds at this point. The last stable release is 4 years old now and simply outdated.
- Provide Bios file to Bios directory and start PCSX2
- Misc > Uncheck "Show Console"
- Config > Memory Cards: Convert your memcards to folders and make sure the "Automatically manage saves based on running game" checkbox is tickedSet up like this PCSX2 will automatically create new memcards based on the running game.
You don't have to manage mem cards anymore. - Config > Emulation settings - GS Window: Enable "Default to Fullscreen"
- Config > Emulation settings - GS Window: Enable "Always hide mouse cursor"
- Config > Emulation settings - Speedhacks: Choose Preset 3
- Config > Emulation settings - Speedhacks: Now disable Presets
- Config > Emulation settings - Speedhacks: Disable MTVU Option
- Config > Controllers > Plugin Settings: Set up your controller of choice in Lilypad plugin settings
- Config > Video > Plugin Settings: Feel free to adjust Internal Resolution to your liking(Thanks to Suhrvivor for pointing out OpenGl as the better default)
- Config > Video > Plugin Settings > Shader Configuration (optional)Recommended Shader options: PIXEL_VIBRANCE & TEXTURE_SHARPEN
Step 2 - Setting up PCSX2 in Launchbox
- Go to Menu > Tools > Manage Emulators > Add
- Select PCSX2 from the Emulator Name dropdown menu
- Point the Emulator Application Path at your PCSX2 executable
- Use the following Default Command-Line Parameters: --fullscreen --portable --cfgpath=inis\%gameid%The %gameid% variable will tell launchbox to parse the game's ID from the XML data and insert it into the command line.
The --cfgpath=inis\ infront of this will result in a unique subdirectory in your PCSX2's ini folder where the configuration
for each specific game will be saved.Unfortunately %gameid% is the only available parameter to use for this to work. It would be nice if there was a parameter
to just use the rom's filename (twice) but launchbox doesn't have it right now. - Go to the Running Autohotkey Script tab and remove the ESC > Close script for now..
Step 3 - Import and configure your PS2 games
- Import your PS2 game image as rom file and choose PCSX2 as emulator. Now try to start the game once.You will get an error message like this. At this point PCSX has already created a new subfolder in the inis directory
based on the %gameid% variable. But since it is empty, you are greeted by the config wizard. - Choose cancel and navigate to your ..\PCSX2\inis directoryHere you can see an example for the auto-created ini folder. It can be identified by being the newest folder and only containing these two files.
- Now copy all .ini files from your inis folder to the subdirectory and overwrite when prompted.We have now supplied this game with the chosen default settings.
- Start the game again from Launchbox. This time it should run with your chosen default settings.
Now it is time to finetune your game config.
As a source of information for game configs i used each game's entry in the PCSX2 wiki.
Here you can find detailed information about most game's issues and their known workarounds.
Alternatively, you can use the PCSX2 Config Spreadsheet Zombeaver provides in his guide. - Press ESC, make adjustments and hit File > Resume to test the settings.
At this point making changes on the fly like this is very reliable in PCSX2. - Once you are pleased with the result, just close PCSX2.
Your changes will be saved to the game's individual config. - Now repeat Step 3 for all your PS2 games (I know ... *yawn*)
Step 4 - Finalizing
When you have all your games imported and configured there are 2 more steps to make integration into Launchbox perfect.
- Change the Default Command-Line Parameters of your PCSX2 Emulator in Launchbox to: --fullscreen --portable --nogui --cfgpath=inis\%gameid%
By adding --nogui each game will start directly without invoking the main PCSX2 window. - Go to the Running Autohotkey Script tab and restor the ESC > Close script as follows:
(Thanks to Retro808 for providing a cleaner close command); This section closes PCSX2 when pressing Escape$Esc::{ WinClose, ahk_exe pcsx2.exe}
This will restore the functionality of the ESC key to quit the PCSX2 process.
This is especially important if you are using the --nogui parameter because using the (regular) ESC in PCSX2 with --nogui and disabled log window
will leave you with no visual indication that PCSX2 is still running. And you will have to kill the process from the task manager every time.
Afterthoughts
You may have guessed it by now, with the gameid being cryptic as they are, the only sensible way to re-adjust your games is to undo Step 4, make the corrections ingame and then reapply it.
That is the one gripe i have with this approach at the moment. But it's really a minor inconveniance. The result is a really easy import process on the Launchbox side and still getting those
per/game configs & saves. So i am very happy.
Let me know what you think and please share ideas for improvement.
Edited by Sunnyhat