Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ps3dev/PSL1GHT/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Theps3load tool allows you to load and run PS3 SELF executables over a TCP network connection. This enables rapid development cycles without creating PKG files or using USB drives.
Requires ps3load network listener running on your PS3 (included with PSL1GHT homebrew).
Why Use ps3load?
Fast Iteration
Load executables in seconds instead of creating PKGs and transferring files.
Development Workflow
Test changes immediately without packaging overhead.
Network Debugging
Stream stdout/stderr from your PS3 application to your development machine.
Automatic Compression
Transparent zlib compression reduces transfer time.
Prerequisites
On Your PS3
Install Network Listener
Run a homebrew application that includes the ps3load listener (most PSL1GHT homebrew includes this).
On Your Development Machine
Theps3load tool is built as part of PSL1GHT toolchain installation.
Setup
Configure Environment Variable
Command-Line Usage
Basic Examples
Network Protocol
ps3load uses a simple TCP protocol on port 4299.Protocol Format
Implementation Details
Fromtools/ps3load/source/main.c:156-175:
Compression
ps3load automatically compresses files using zlib (level 6) to reduce transfer time.PKG files (starting with PK\x03\x04) are not compressed as they’re already compressed.
Build System Integration
The PSL1GHT Makefile includes arun target:
Complete Makefile Example
Usage
Troubleshooting
Error: resolving hostname
Error: resolving hostname
Can’t resolve the PS3 hostname/IP:
Error: connection refused
Error: connection refused
PS3 is not running a ps3load listener:
- Launch a homebrew app that includes network loading
- Check PS3 firewall settings
- Verify port 4299 is not blocked
Transfer very slow
Transfer very slow
Network issues or large file:
Application doesn't start
Application doesn't start
The SELF file may be invalid:
- Ensure you ran
sprxlinkerbeforefself - Check that SELF was created correctly
- Try creating a PKG and installing instead
Example Output
Successful ps3load session:Advanced Usage
Loading with Multiple Arguments
main():
Script Integration
build_and_run.sh
Multiple PS3 Systems
Performance Tips
Strip Symbols
Use
ppu-strip to reduce file size before creating SELFWired Connection
Use ethernet instead of WiFi for faster transfers
Asset Streaming
Load large assets from USB/HDD instead of embedding in SELF
Build Directory
Keep build artifacts to avoid rebuilding unchanged files
Source Code Reference
The ps3load implementation:- Main:
tools/ps3load/source/main.c:1-417 - Key Functions:
send_tcp():main.c:94- Network transfer implementationtcp_write():main.c:73- Reliable TCP send- Protocol constants:
main.c:48-51
Port and Version
See Also
FSELF Tool
Create SELF files for loading
Build System
Integrate ps3load into build process
PKG Creation
Create packages for distribution
Development Setup
Configure your development environment