VitaShell by theheroGAC
From GameBrew
More actions
| VitaShell by theheroGAC | |
|---|---|
| General | |
| Author | TheFlow, RealYoti, isage, theheroGAC |
| Type | File Browsers |
| Version | 2.15 |
| License | GPL-3.0 |
| Last Updated | 2025/10/12 |
| Links | |
| Download | |
| Website | |
| Source | |
VitaShell is an alternative replacement of the PS Vita's LiveArea. It offers you a file manager, package installer, built-in FTP and much more.
It was originally developed by TheFlow and was presented in the Revitalize PS Vita homebrew competition. HENkaku's molecularShell is also based on VitaShell.
Note: Do not try to install new VitaShell.vpk from VitaShell itself. Use another file manager like molecularShell or ONEMenu. Or replace eboot.bin file inside ux0:app/VITASHELL/ directory with new one.
Changelog
v2.15
- Settings & Configuration Changes
- DISABLED Automatic Updates: Automatic update checks disabled by default for faster startup
- Battery Info Relocation: Moved Battery Information from Power Settings to Main Settings menu
- Audio Repeat Mode: Added complete audio repeat functionality with 3 options (None/Repeat One/Repeat All)
- Enhanced Settings Menu: Reorganized settings layout for better user experience
- Menu Structure Updates
- Main Settings Menu: Added Battery Info and Audio Repeat Mode options
- Power Settings Menu: Streamlined to core power functions (Reboot/Power Off/Standby)
- Improved Navigation: Better organized settings with logical grouping
- Localization Updates
- Italian Language Enhancement: Updated both resources/italian.txt and l10n/italian.txt
- New Translation Strings: Added translations for all new settings options
- Complete Localization: Full Italian support for all new features
- Technical Improvements
- Faster Startup: Disabled automatic network update checks for improved boot time
- Manual Updates: Users can still check for updates manually via "Check Updates" option
- Configuration Persistence: All new settings properly saved and restored
- Memory Optimization: Efficient settings handling and menu navigation
- Language Restart Fix: Fixed inverted button logic for language change restart confirmation
- Smart Scrolling: Added automatic scrolling that follows navigation for better UX
- Initial fix for QR code scanner by Isage (RealYoti#8) and then further improvements implemented in the code
v2.14
- Major Fixes and Improvements
- Major QR scanner speed improvements with intelligent frame processing
- Performance Enhancements
- Adaptive frame processing based on detection success rate
- Optimized grayscale conversion processing 4 pixels simultaneously
- Automatic performance tuning (33ms-150ms range)
- Faster QR detection with priority-based code checking
- Maximum priority threads for optimal QR processing performance
- Technical Updates
- Updated to 2.14 across all build systems
- Reduced memory footprint in QR processing
- Self-tuning performance based on success rates
- Optimized memory access patterns for better CPU utilization
- Localization & Themes
- Complete French localization by chronoss09
- Enhanced Japanese translation by yyoossk
- Updated Electron theme with improved styling and compatibility by chronoss09
- Code Quality
- Removed deprecated audio feedback systems
- Faster mathematical operations for image processing
- Improved thread priorities and resource management
- Built-in performance tracking and adaptation
v2.13
- Major New Features
- Access QR scanner once via SELECT button, then auto-switches to USB mode
- Choose from 6 colors for file selection bars (Green, Grey, Blue, Red, Pink, Yellow)
- Technical Updates
- Updated to 2.13
- QR option disappears after use for clean UI
- Color choices saved across sessions
- Improved navigation and fallback behaviors
- Thanks to yyoossk for improved Japanese localization
- Known Limitations
- QR scanner limited by design to prevent abuse
- One-time use policy ensures secure functionality
v2.12
- Post-Installation Auto-Launch (MAJOR FEATURE)
- After VPK installation, users are prompted to launch the installed app/game
- Click "Yes" to start the app immediately after installation
- Automatically extracts Title ID from VPK param.sfo for correct app launching
- Launch dialog adapts to currently selected language
- Option to decline launch and return to file browser
- VitaShell closes automatically when launching installed app
- "Launch app/game" Context Menu Option for VPK Files (NEW)
- Press TRIANGLE on any VPK file → "Launch app/game" appears in context menu
- Option appears automatically only for TYPE_VPK files (no manual detection needed)
- Selects "Launch app/game" → installs VPK + launches app immediately
- No intermediate "Do you want to launch?" prompts when using direct method
- Displays error dialogs if installation fails (network issues, storage space, etc.)
- Traditional installation (with launch prompts) remains fully available
- Menu adapts based on file type - smart, intuitive, and clean UX
- Smart Installer Workflows
- Traditional method with user choices vs. direct launch method for quick deployment
- Proper tracking of installation states and cleanup
- Prevents UI freezing and ensures proper control restoration after installations
- Contextual menu appears only for compatible file types
- Other Improvements
- More intuitive user experience with smart prompts
- Last installed app tracking and cleanup
- Fixed issues where VitaShell would freeze after installation dialogs
- Removed redundant confirmation messages for better UX
v2.11
- New Features
- Complete 12-language embedded support
- Dynamic language switching with settings persistence
- Enhanced progress displays with counters
- Custom LiveArea branding
- Technical Improvements
- Unicode UTF-8 support for international characters
- Optimized language file resource management
- Memory leak fixes and stability improvements
- Backward compatibility maintained
- Bug Fixes
- Crash prevention during language operations
- Dialog button mapping corrections
- Text rendering improvements for international languages
v2.09
- Menu "More" Positioning & Functionality
- Fixed: Menu entries (MD5, SHA1, SHA256, etc.) were positioned too low when accessing Triangle > More
- Fixed: MD5 and SHA256 options showed "install package" error instead of working
- Fixed: Wrong functions executed when selecting menu items (MD5 → Install All, Install All → SHA1, etc.)
- Result: All hash calculation options now work correctly and display properly positioned
- Hash Algorithm Implementation
- Added: Full MD5 hash calculation with proper 16-byte output formatting
- Added: Full SHA256 hash calculation with proper 32-byte output formatting
- Enhanced: SHA1 functionality preserved and improved
- Added: Multi-threaded hash processing with progress bars for all algorithms
- Added: Proper hash result display with hex formatting and line breaks
- File Safety & Protection
- Added: Warning messages when attempting to delete important/system files
- Protected files include:
- System partitions (os0:, vs0:, vd0:, tm0:)
- Homebrew directories (ur0:tai/, ux0:tai/)
- Critical config files (config.txt, boot_config.txt)
- System software (vitashell, henkaku, taihen, molecule)
- Plugin files (.skprx, .suprx)
- Application files (eboot.bin, param.sfo)
- Localization Updates
- Generic Hash Messages
- Updated: Hash confirmation messages to be algorithm-agnostic
- Before: "SHA1 hashing may take a long time. Continue?"
- After: "Hashing may take a long time. Continue?"
- Safety Warning Messages
- Added: "WARNING: This appears to be a system or important file. Are you absolutely sure you want to delete it?" (and translations)
- Languages supported: 🇺🇸🇮🇹🇫🇷🇩🇪🇪🇸🇵🇹🇧🇷
- System Information Display
- Free Space Indicator
- Feature: Real-time storage space display in status bar
- Shows: Current partition free space (e.g., "ux0: 5.2 GB/29.5 GB free")
- Colors:
- Green: >50% free space available
- Orange: 20-50% free space (running low)
- Red: <20% free space (critically low)
- Dynamic: Updates based on current directory partition
- Technical Improvements
- Code Architecture
- Enhanced: HashArguments structure to support multiple hash types
- Improved: Thread management for hash calculations
- Added: Proper enum-to-array mapping for menu callbacks
- Optimized: Menu positioning system for better UX
- Error Handling
- Added: Comprehensive file importance detection
- Enhanced: User confirmation dialogs with context-aware messages
- Improved: Multi-file deletion safety checks
- User Experience
- Menu Navigation
- Improved: Compact menu layouts with proper spacing
- Fixed: Correct function execution for all menu items
- Enhanced: Visual feedback and confirmation dialogs
- Hash Operations
- Streamlined: Unified interface for SHA1, MD5, and SHA256
- Added: Progress indication during calculations
- Improved: Result presentation with formatted output
- Safety Features
- Enhanced: Multi-level protection for critical system files
- Added: Batch operation safety (warns if any selected files are important)
- Improved: Clear warning messages with proper translations
v2.08
- Fixed missing vshIoMount declarations:
- Restored correct prototypes (vshIoUmount, _vshIoMount, vshIoMount) to resolve build errors and ensure compatibility with system mount operations.
- Increased buffer size in getSizeString from 16 to 20 characters for safer formatting.
- Cleaned parameter naming in holdButtons to avoid shadowing the global pad variable.
- General code style cleanup for readability.
- Add support to copy file to host0: by @Princess-of-Sleeping
- Implemented exception handling to bypass free space check when destination is host0:.
- Prevents false "not enough space" errors when transferring files to PC via USB.
- Improved stability and reliability of file operations:
- Cleaner mount/unmount handling.
- Safer copy process to external devices.
v2.07
- Fixes & Improvements
- Fixed multiple implicit declaration warnings by adding proper function prototypes and headers.
- Corrected _vshIoMount usage to ensure proper return type and parameters.
- Added missing forward declarations in settings.c and other source files.
- Improved compatibility with new VitaSDK versions, reducing compiler warnings.
- Fixed potential thread and callback leaks by properly handling thread termination.
- Adjusted include paths and redundant definitions for cleaner compilation.
- Codebase Maintenance
- Reorganized headers to avoid duplication.
- Cleaned up unused variables and redundant code blocks.
- Improved readability of main modules.
- Updated comments and naming consistency across the project.
- Stability
- Better error handling for promoteApp and file system operations.
- Reduced risk of undefined behavior from undeclared functions.
- General code cleanup for safer builds on Windows/MSYS2 + VitaSDK.
v2.06
- Fixed:
- Corrected potential buffer overflow warnings in settings.c when copying theme names using strncpy.
- Ensured all strings copied into fixed-length buffers are properly null-terminated.
- Resolved minor warnings in minizip/ioapi.c related to strncpy and strlen.
- Updated CMake build system to improve compatibility with VitaSDK and modern toolchains.
- Added proper linking for kernel, user, patch, and USB modules to avoid missing symbols.
- Fixed minor resource path issues to ensure .skprx, .suprx, and other binary resources are correctly compiled and included.
- Improved:
- Refactored QR code functionality for better stability. (by @isage)
- Optimized compilation flags to reduce unnecessary warnings.
- Streamlined build process for modules and stubs.
- Minor performance improvements in theme selection and resource loading.
- Notes:
- Some warnings regarding string truncation were addressed by using strncpy with explicit null-termination or snprintf.
- All module dependencies and stubs are now correctly declared in CMake, avoiding missing symbols during linking.
Credits
- Original Author: TheFloW - Creator of VitaShell
- Core Contributors: isage and TheRealYoti - Major code and feature contributions
- Mod Developer: theheroGAC - Multilingual implementation and enhancements (active development since v2.06, continuously adding new features and fixing issues)
- Community: Beta testers and language contributors
- Open Source: Thanks to all contributors and the VitaSDK team