A toolchain host for the open-source PlayStation 2 SDK, using a 🔗Retail Debugging Startup Cart (PSX-Place) for on-target debugging on retail systems.
See also: ps2ded-vscode, a VS Code Devcontainer for PS2DED
- Docker Desktop (Windows host) or Docker Server (Linux host)
- Retail PlayStation 2 w/ Ethernet interface (tested on
SCPH-77004
) - uLaunchELF (tested with v4.43a)
The buildscript will fetch the latest copy of the PS2DEV GitHub repository. Other third-party tools – such as the DSNET binaries – are hosted off-site, and need to be downloaded separately.
- Download the DSNET tool set from the RDB project: 🔗PSX-Place (dsnet-bin.7z)
- Place the 7zip archive into the
install/
folder
- Download the binaries from the RDB project: 🔗PSX-Place (RDB-095-bin.7z)
- Transfer the following files to your system, e.g. using uLaunchELF's FTP server. Place them in a new folder on your memory card, e.g.
mc0:/RDB/
RDB-UIF.elf
thmon.irx
To build the Docker image, open a shell session inside the cloned repo folder, and run:
docker build -t ps2ded-oss .
Due to limitations of the Docker build system, this will leave behind an untagged image of the builder stage, with a size of around 1 GB. This dangling image can be removed.
The container provides access to the PlayStation 2 SDK compiler and debugger toolchain, as well as all related header files. The DSNET server can be accessed from other tools, similar to a TOOL PlayStation 2, via the exposed network port 8510
. In order to launch a new session, use:
docker run -v <workspace>:/work -e PS2IP=<ipaddr> --rm -it ps2ded-oss
Load the RDB-UIF executable on your PlayStation and start the DSNET server by running the following command inside the container shell. The script will use the IP address specified in $PS2IP
.
start_dsnetm
The script will automatically start up an IOP module server, and dump the register contents of both processors to check the connection.
There are compatibility issues between the open-source SDK and the non-SCE DSNET binaries. For example, printf
outputs are not passed to the IOP in a way to be forwarded over the debug port. Software breakpoints have been observed to cause lock-up of the dsedb
application. In general, the open-source PS2SDK is more optimized for use with their own debugger ps2link
, and its supporting tools.
Use Docker environment variable arguments when launching a new container to configure the IP address of the target device:
-e PS2IP=192.168.1.100