This codebase would not be possible without
https://github.com/TheCod3rYouTube/PS5NorModifier
A Python-based GUI application for modifying PlayStation 5 NOR files. This is a port of the original C# application by TheCod3r to Python, making it cross-platform and more accessible.
- Read PS5 NOR files (PS5 Slim not currently supported)
- Write PS5 NOR files (PS5 Slim not currently supported)
- Change serial number on NOR file
- Change version flags (disc edition or digital edition)
- Read motherboard serial
- Read WiFi MAC address
- Read LAN MAC address
- Connect to any compatible TTL device
- Read error codes stored on PS5 system
- Clear error codes stored on PS5 system
- Automatically convert the error codes into easy to understand descriptions
- Fetch error codes in real time from uartcodes.com database
- Option to download entire uartcodes.com database for offline use
- Send custom UART commands and receive response in output box
src/main.py: Application entry pointsrc/main_window.py: GUI implementationsrc/uart_handler.py: UART communication and error handlingsrc/nor_handler.py: NOR file operations and validationsrc/__init__.py: Package initialization
The application includes a robust error handling system:
- Custom
UartErrorclass for UART-specific errors - Input validation for:
- Serial port names
- Error codes
- Custom commands
- NOR file data
- Detailed error messages with context
- Graceful error recovery
The application supports both online and offline error code databases:
-
Online Database:
- Real-time error code lookup
- Automatic database updates
- Fallback to offline mode
-
Offline Database:
- Local XML storage
- Automatic initialization
- Manual update option
- Clone this repository
- Install the required dependencies:
pip install -r requirements.txt
Run the main application:
python src/main.pyThe application uses a local XML database for error codes, stored in:
PS5NorPY/resources/error_codes.xml
The database is automatically downloaded on first run and can be manually updated through the GUI.
Contributions are welcome! Please feel free to submit a Pull Request.
