Skip to content
This repository has been archived by the owner on May 4, 2024. It is now read-only.

Setup (wxWidgets build)

987123879113 edited this page Sep 11, 2022 · 5 revisions

Note: The Qt build is recommended unless you have very specific needs! To figure out which version you should use, read the setup page.

Follow these instructions to the letter and you should be able to get Python 2 games working.

Required Setup

  1. Download the latest build or compile from source code. See: https://github.com/987123879113/pcsx2/wiki#builds

  2. Place the SCPH-50000 BIOS in the bios folder. You must use SCPH-50000 BIOS. The exact BIOS used on real hardware can be found in MAME's ps2.zip ROMs under the filename ps2-0190j-20030822.bin (SHA-1: 0ea98a25a32145dda514de2f0d4bfbbd806bd00c). If you use any other BIOS files then you will potentially run into issues and is not a supported configuration for this fork.

  3. Place the required MagicGate key files into the bios folder. You are responsible for acquiring these files on your own. Information about the keys can be found over at the PS2 Dev Wiki.

Filename SHA-1 Hash
civ.bin 5354987f01d9d5e1390ef9946342d1ecad6211b1
cks.bin a793f867b0325e67982ba8e53f659480c1f512bb
eks.bin 5a3a3ac6f03cf100ef6e8bc92d22e91ec14e27cf
kek.bin 77227dbaaea1042f5972e65a56d2234024e8eff8
  1. Create a new file in the inis folder named Python2.ini. See the Python2.ini Example Configuration page for an up-to-date example Python2.ini configuration.

  2. Launch PCSX2 and run through first time configuration or open the BIOS selection screen and choose the "Japan v0.90(22/08/2003) Console" BIOS.

  3. Go to CDVD > select "No Disc".

  4. Go to Config > Network and HDD Settings > Enable "Ethernet". Select an Ethernet device type (bridged should work but may depend on your settings). Select the appropriate Ethernet device to share an internet connection with. Configure other Ethernet settings as required for your network if necessary. If you do not see any options here then install PCAP and/or run as administrator (if you are using Windows).

  5. Go to Config > Network and HDD Settings > Enable "Hard Disk Drive". You are not required to select an HDD file or HDD size and can leave the settings as-is. The settings will automatically be changed in the background when a game is loaded so you do not need to point it at a game HDD image right now.

  6. Go to Config > USB Settings > select "Python2" under the Player 1 drop down menu and make sure that "None" is selected for Player 2. Select the device API required for your setup.

    • On Windows...
      • Raw Input -> Allows configuration of input controls using keyboard, USB gamepad, etc
      • Passthrough -> Allows the use of a real Python 2 USB I/O device
      • btools -> Specific to DDR. Allows use of BT5's ddrio.dll for inputs. Configuration and I/O handling done externally through btools.
    • On Linux...
      • NOOP -> No inputs usable but you can boot a game (does not have config menu)
      • Passthrough -> Allows the use of a real Python 2 USB I/O device
  7. Go to Config > USB Settings > press the "Configure" button under the Player 1 device API to open the configuration menu. From here you can select the game to boot at the top of the screen as a dropdown menu. Depending on your selected device API there may be other options here such as input configuration.

    • Raw Input...
      • Select the appropriate keybinds for your game on the left and then press the "Bind" button below to start listening for a button press. Once you press "Bind", you should see a message at the bottom left saying "Capturing, press ESC to cancel". Press a button on your desired input device to bind the selected input.
      • To delete a keybind, press the bound key on the right and then press "Unbind" down below. You can select multiple inputs using ctrl+left click or shift+left click.
      • Oneshots are useful for keys that should stop triggering as soon as they are "pressed" instead of being held. Any bound key can be configured as a oneshot by select a keybind on the right and then pressing the "Toggle Oneshot" button down below. The "Oneshot" column will toggle between ON/OFF depending on oneshot status. Some keybinds such as Drummania drum pads are set to oneshot by default because the drum pads can't be held down.
  8. Go to Config > Graphics Settings > DISABLE "Screen Offsets" and ENABLE "Show Overscan" to fix bottom of the screen being cut off when Force31kHz is disabled.

  9. Go to System > select "Boot BIOS" to launch the Python 2 game you selected through the device API configuration menu.

Recommended Configuration

Input latency

  1. Go to Config > General Settings > GS > set Vsyncs in MTGS Queue to 0 can help reduce latency input slightly.

Audio

  1. Go to Config > Audio Settings > select "Cubeb" as the output module.
    • Windows...
      • Press the "Configure..." button and then select "WASAPI" backend.
    • Linux... (maybe MacOS too?)
      • Select available backend that gives your system the lowest audio latency.
  2. Adjust the latency slider as low as your system will allow. Start with the smallest value and increase slightly if audio is distorted or crackling.

Video

  1. Go to Config > Graphics Settings > select "Software" as the renderer. The "Software" renderer offers less graphical glitching at the cost of performance. Some games such as GFDM series are known to have graphical glitching with non-software renderers.

Network

Python 2 games will give network errors if using a machine IP address other than 10.1.x.x. For example, if you used 192.168.x.x then it'll error. This is a limitation built into the game's code and not an emulator issue. You will run into the same issues on real hardware. You can reconfigure your router to use 10.1.x.x instead of 192.168.x.x or you can grab a spare router specifically for Python 2 games.

Ask your online game server provider how to set up specifically. More generally, you can override domain IPs using PCSX2's built in hostname redirection code, inis/DEV9Hosts.ini. You must configure PCSX2's network settings to use the 192.0.2.1 as the DNS server for the redirected hostnames to work.

An example DEV9Hosts.ini looks like this:

[Host0]
Url=www.example.com
Desc=Set DNS to 192.0.2.1 to use this host list
Address=0.0.0.0
Enabled=disabled

[Host1]
Url=www.example2.com
Desc=
Address=0.0.0.0
Enabled=disabled