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

PY2 Game Entry File Example

987123879113 edited this page Aug 20, 2022 · 7 revisions

You can use relative paths for any field that takes a file path. The relative path will be expanded to an absolute path where the referenced files are expected to be in the same folder as the .py2 file. Relative paths are preferred unless absolute paths are necessary.

Example of relative paths:

Assuming your game.py2 file is located at "C:\\path\\to\\gamedata\\game.py2"

game.raw -> file is expected to be at C:\\path\\to\\gamedata\\game.raw
..\\game.raw -> file is expected to be at C:\\path\\to\\game.raw
hdd\\game.raw  -> file is expected to be at C:\\path\\to\\gamedata\\hdd\\game.raw

Example of absolute path:

C:\\path\\to\\gamedata\\game.raw

PY2 template

[Game]
; Friendly name to display in the game list
Name=Game Title

; Path to HDD image file.
; Note: For Windows you must use \\ instead of just \ for file paths or it WILL NOT WORK.
HddImagePath=game1.raw

; HDD ID corresponding to the HDD image (required for unpatched drives)
HddIdPath=game1_HDD_ID.BIN

; ILINK ID corresponding to the HDD image (required for unpatched drives)
; You can also specify an NVM/NVRAM dump here (ps2_nvram, MC_NVRAM.BIN, etc) and it will read the ILINK ID out of that.
IlinkIdPath=game1_ILINK_ID.BIN

; Black and white dongle files (required for unpatched games)
; Format of binary dongle file is:
: (Old format)
; 8 bytes - serial ID
; 32 bytes - encrypted dongle payload
;
; OR
;
; (MAME format)
; 32 bytes - encrypted dongle payload
; 8 bytes - serial ID
DongleBlackPath=game1_dongle_black.bin
DongleWhitePath=game1_dongle_white.bin

; Input types
; 0 = Drummania
; 1 = Guitar Freaks
; 2 = Dance Dance Revolution
; 3 = Toy's March
; 4 = Thrill Drive 3
; 5 = Dance 86.4 Funky Radio Station
InputType=3

; DIP Switches 1234 (OLD FORMAT)
; Change from 0 to 1 to enable selected dipswitch
; NOTE: This is only included to make migration easier. You do not need to use the DipSwitch field and should instead use the DIPSW1/2/3/4 format if you are making a new file.
; DipSwitch=0000

; DIP Switches 1234 (NEW FORMAT)
; Change each individual dipswitch to true or false
DIPSW1=false
DIPSW2=false
DIPSW3=false
DIPSW4=false

; Optional, extended pnach patch file (see README.md for more details)
PatchFile=C:\\Python2\\game1.pnach

; Force 31 kHz mode
; Will cause the top of the screen to not refresh in Guitar Freaks, Drummania, Toy's March (all GFDM engine-based games) which also occurs on real hardware.
Force31kHz=0

; Card files are text files with the 16 character card ID.
; Optional. You'll know if you have a need for this.
Player1Card=card1.txt
Player2Card=card2.txt

; (RECOMMENDED) Manually set a unique ID number to the game as the CRC value.
; If this is not manually set then random number will be generated every time the file is added to the game list, resulting in a new gamesettings .ini to be created for the game each time it's newly imported so settings may not be shared as expected.
; WARNING: If you manually set this value then please make sure that the unique ID does not clash with any other game entries or else there may be bugs with game settings.
UniqueId=12345 

; Manually set the region on the game list when imported
; Optional, will default to "NTSC-J".
; See wiki page for list of valid region codes.
; Region=NTSC-J

Python2.ini to .py2 migration

It is possible to take the game entries from your old Python2.ini and split them into separate .py2 files with ease. Copy the entire contents of the GameEntry block for the specific game you wish to make a .py2 file for, change the [GameEntry ...] header to [Game], then save it to a new file with an extension of .py2 such as ddr_supernova.py2.

List of valid region codes

NTSC-B
NTSC-C
NTSC-HK
NTSC-J
NTSC-K
NTSC-T
NTSC-U
PAL-A
PAL-AF
PAL-AU
PAL-BE
PAL-E
PAL-F
PAL-FI
PAL-G
PAL-GR
PAL-I
PAL-IN
PAL-M
PAL-NL
PAL-NO
PAL-P
PAL-R
PAL-S
PAL-SC
PAL-SW
PAL-SWI
PAL-UK
Other