{"id":20536682,"url":"https://github.com/islandcontroller/ps2ded-sce","last_synced_at":"2025-08-17T05:05:31.705Z","repository":{"id":153360556,"uuid":"294236658","full_name":"islandcontroller/ps2ded-sce","owner":"islandcontroller","description":"PlayStation 2 DevEnv for Docker - a toolchain host for the PlayStation 2 SDK","archived":false,"fork":false,"pushed_at":"2020-12-10T10:34:27.000Z","size":145,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T09:18:02.181Z","etag":null,"topics":["debugging-tools","docker","playstation-2"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/islandcontroller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-09T21:45:19.000Z","updated_at":"2024-07-15T07:15:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"b73a8c52-4f83-400f-816b-aaf9704ea8f6","html_url":"https://github.com/islandcontroller/ps2ded-sce","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/islandcontroller/ps2ded-sce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islandcontroller%2Fps2ded-sce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islandcontroller%2Fps2ded-sce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islandcontroller%2Fps2ded-sce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islandcontroller%2Fps2ded-sce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/islandcontroller","download_url":"https://codeload.github.com/islandcontroller/ps2ded-sce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islandcontroller%2Fps2ded-sce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270807934,"owners_count":24649346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging-tools","docker","playstation-2"],"created_at":"2024-11-16T00:37:29.458Z","updated_at":"2025-08-17T05:05:31.667Z","avatar_url":"https://github.com/islandcontroller.png","language":"Dockerfile","readme":"# PlayStation 2 DevEnv for Docker\r\n\r\nA toolchain host for the Sony PlayStation 2 SDK, using a [\u0026#128279;Retail Debugging Startup Cart (PSX-Place)](https://www.psx-place.com/threads/retail-debugging-startup-card.14027/) for on-target debugging on retail systems.\r\n\r\n**See also:** [**ps2ded-vscode**](https://github.com/islandcontroller/ps2ded-vscode), a VS Code Devcontainer for PS2DED\r\n\r\n\u003cimg src=\"scr.png\"/\u003e\r\n\r\n## System Requirements\r\n\r\n- Docker Desktop (Windows host) or Docker Server (Linux host)\r\n- Retail PlayStation 2 w/ Ethernet interface (tested on `SCPH-77004`)\r\n- uLaunchELF (tested with v4.43a)\r\n\r\n## Preparation\r\n\r\nThis repository does not and will not include third-party tools. They need to be sourced separately.\r\n\r\n1. Source a 2005 Sony PlayStation 2 SDK disk image\r\n2. Install the SDK on a Windows machine, and pack the `sce` folder into a compressed ZIP archive `sce.zip`\r\n3. Move the archive into the `install/` directory of this repo\r\n4. Download the DSNET tool set from the RDB project: [\u0026#128279;PSX-Place **(dsnet-bin.7z)**](https://www.psx-place.com/threads/retail-debugging-startup-card.14027/)\r\n5. Place the 7zip archive into the `install/` folder as well\r\n\r\n### Retail Debugging Startup Cart (RDB-UIF)\r\n\r\n1. Download the binaries from the RDB project: [\u0026#128279;PSX-Place **(RDB-095-bin.7z)**](https://www.psx-place.com/threads/retail-debugging-startup-card.14027/)\r\n2. 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/`\r\n    - `RDB-UIF.elf`\r\n    - `thmon.irx`\r\n3. Copy the following files from your SDK folder `sce/iop/modules/` into the same memory card location, as those listed above:\r\n    - `sio2man.irx`\r\n    - `IOPRP300.img` - rename this file to `IOPRP.img` on the memory card\r\n\r\n## Building\r\n\r\nTo build the Docker image, open a shell session inside the cloned repo folder, and run:\r\n\r\n    docker build -t ps2ded-sce .\r\n\r\nDue to limitations of the Docker build system, this will leave behind an untagged image of the builder stage, with a size of around 3 GB. This dangling image can be removed.\r\n\r\n### Image Size Optimization\r\n\r\nYou can limit the image size by removing unnecessary files and folders from the `sce.zip` archive, such as documentation or Windows tools. The minimum configuration consists of:\r\n\r\n* `dsnet-bin.7z`: only requires `dsnetm` executable\r\n* `sce.zip`: requires `sce/bin/`, `sce/common/`, `sce/ee/`, and `sce/iop/` folders\r\n\r\n| Configuration | Image Size |\r\n|---------------|------------|\r\n| Full          | ca. 2 GB   |\r\n| Minimal       | ca. 250 MB |\r\n\r\n## Usage\r\n\r\nThe 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:\r\n\r\n    docker run -v \u003cworkspace\u003e:/work -e PS2IP=\u003cipaddr\u003e --rm -it ps2ded-sce\r\n\r\nLoad 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`.\r\n\r\n    start_dsnetm\r\n\r\nThe script will automatically start up an IOP module server, and dump the register contents of both processors to check the connection.\r\n\r\n### Volume mounts from a Windows host\r\n\r\nDue to incompatibilities between the 32-bit libraries used by SCE tools and the volume driver for Windows mounts, `ee-gcc` and the like will fail trying to access files in the `/work` directory.\r\n\r\nA workaround is provided with the `sync_work` script. This script will copy the `/work` folder to the container-local filesystem, and synchronize outgoing changes back to the Windows host using `rsync`. Synchronization is repeated every 5 seconds, and checks file contents for changes using a CRC.\r\n\r\n**Note:** This will keep overriding any changes made on the Windows host, except for the `_transfer` folder.\r\n\r\n    sync_work ~\r\n    cd ~/work\r\n\r\nIn order to transfer files from the Windows host to the container, create a `_transfer` folder in the work directory. Any changes made to the files contained in this folder from within the container will, again be overwritten.\r\n\r\n## Configuration\r\n\r\nUse Docker environment variable arguments when launching a new container to configure the IP address of the target device:\r\n\r\n    -e PS2IP=192.168.1.100","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fislandcontroller%2Fps2ded-sce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fislandcontroller%2Fps2ded-sce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fislandcontroller%2Fps2ded-sce/lists"}