How ps2dev/ps2sdk works
PS2SDK is a collection of libraries and loadable IOP modules for building PlayStation 2 applications. The principal workflow is an application using EE-side APIs and runtime support to access system functions and hardware services, with RPC libraries bridging to IOP modules where needed. The graph preserves the README’s major capabilities; some subsystem connections are documented at product level, while detailed wiring is shown only where supported by the sampled source. Paths identify representative implementation files.
Main entry points: libcdvd.c CD/DVD API · libhdd.c HDD API · libmc.c Memory card API · ps2ip.c TCP/IP stack
Components 23
EE runtime
- Kernel API
ee/kernel/src/glue.c - Newlib glue
ee/libcglue/src/glue.c - Graphics APIs
ee/draw/src/draw.c - Input APIs
ee/rpc/pad/src/libpad.c - Sound RPC
ee/rpc/ps2snd/src/ps2snd.c
Storage and media
- CD/DVD API
ee/rpc/cdvd/src/libcdvd.c - HDD API
ee/rpc/hdd/src/libhdd.c - Memory card API
ee/rpc/memorycard/src/libmc.c - FileXio API
ee/rpc/filexio/src/fileXio_rpc.c - CD/DVD driver
iop/cdvd/cdvdman/src/cdvdman.c - CD filesystem
iop/cdvd/cdfs/src/main.c - HDD partitions
iop/hdd/libapa/src/apa.c - HDD filesystem
iop/hdd/pfs/src/pfs.c - Memory card driver
iop/memorycard/mcman/src/main.c
Networking
- TCP/IP stack
ee/network/tcpip/src/ps2ip.c - Network manager
iop/network/netman/src/netman.c - Ethernet driver
iop/network/smap/src/main.c - HTTP filesystem
iop/fs/http/src/ps2http.c - Host network FS
iop/fs/netfs/src/ps2netfs.c
Devices and tools
- USB input drivers
iop/input/padman/src/padInit.c - Debug services
iop/debug/iopdebug/src/main.c - ROM image tool
tools/romimg/src/main.c
Other components
- PS2 application
Connections 22
- PS2 application → Kernel API: uses system APIs
- PS2 application → Newlib glue: uses runtime
- PS2 application → Graphics APIs: renders graphics
- PS2 application → Input APIs: reads controls
- PS2 application → Sound RPC: requests audio
- PS2 application → CD/DVD API: accesses discs
- PS2 application → HDD API: accesses HDD
- PS2 application → Memory card API: accesses cards
- PS2 application → FileXio API: uses file services
- PS2 application → TCP/IP stack: uses networking
- CD/DVD API → CD/DVD driver: RPC requests
- CD filesystem → CD/DVD driver: reads disc sectors
- HDD API → HDD partitions: HDD operations
- HDD filesystem → HDD partitions: uses partitions
- Memory card API → Memory card driver: RPC requests
- TCP/IP stack → Ethernet driver: sends and receives
- Ethernet driver → Network manager: registers network device
- PS2 application → HTTP filesystem: loads HTTP files
- PS2 application → Host network FS: loads host files
- PS2 application → USB input drivers: uses USB devices
- PS2 application → Debug services: uses debugging
- PS2 application → ROM image tool: prepares ROM images