Available System Samples
msgdialog
System message dialogs and user prompts
osk
On-screen keyboard for text input
save
Save data creation and management
threadtest
PPU threading and synchronization
System Utilities Overview
PS3 system utilities provide:- User interface dialogs for errors, confirmations, and progress
- On-screen keyboard for text input without USB keyboard
- Save data system for game saves with XMB integration
- Threading support for multi-threaded PPU programs
- Callback system for system events (exit requests, etc.)
msgdialog - Message Dialogs
Location:samples/sys/msgdialog/
Demonstrates displaying system dialogs for user interaction.
What It Demonstrates
- Opening error code dialogs
- Yes/No confirmation dialogs
- OK dialogs
- Dialog callbacks
- Timed dialog closing
- Integration with sysutil callbacks
Implementation
samples/sys/msgdialog/source/main.cpp
Dialog Types
Error Code Dialog
Error Code Dialog
Simple Message
Simple Message
Yes/No Dialog
Yes/No Dialog
Progress Bar
Progress Bar
Dialog Button Flags
System Callback Integration
Callback Pattern
Important Events
osk - On-Screen Keyboard
Location:samples/sys/osk/
Demonstrates the system on-screen keyboard for text input.
What It Demonstrates
- Opening the OSK
- Configuring keyboard type
- Reading entered text
- Handling keyboard events
OSK Usage Pattern
OSK Configuration Options
Keyboard layouts
Keyboard layouts
Input modes
Input modes
Panel types
Panel types
save - Save Data Management
Location:samples/sys/save/
Demonstrates creating and managing save data.
What It Demonstrates
- Creating save directories
- Writing save files
- Reading save data
- Save data metadata
- XMB integration
Save Data Structure
PS3 save data is organized as:Save Data Pattern
threadtest - PPU Threading
Location:samples/sys/threadtest/
Demonstrates PPU thread creation and synchronization.
What It Demonstrates
- Creating PPU threads
- Thread synchronization
- Mutexes
- Condition variables
- Thread priorities
Threading Pattern
Mutex Synchronization
Condition Variables
Building System Samples
Build All System Samples
Build Individual Sample
Best Practices
Always Check Callbacks
Call
sysUtilCheckCallback() every frame in your main loopHandle EXIT_GAME
Always handle SYSUTIL_EXIT_GAME to save and exit cleanly
Dialog Integration
Keep rendering and checking callbacks while dialogs are open
Thread Safety
Use mutexes when accessing shared data from multiple threads
Save Data Icons
Always provide ICON0.PNG for save data (320x176, PNG format)
OSK State
Poll OSK state regularly with
oskUpdate() while keyboard is openCommon System Patterns
Confirm exit dialog
Confirm exit dialog
Progress dialog for loading
Progress dialog for loading
Worker thread pattern
Worker thread pattern
Related Documentation
System Utility API
Complete sysutil API reference
Dialog API
Message dialog API documentation
OSK API
On-screen keyboard reference
Threading API
PPU threading and synchronization
Save Data API
Save data management reference