A Windows desktop utility for batch converting GameCube and Wii disc images to RVZ format with verification capabilities.
Batch Convert to RVZ is a comprehensive Windows application that provides a user-friendly interface for converting multiple GameCube and Wii game files to the RVZ format. It uses DolphinTool from the Dolphin Emulator project for conversions and verification, while providing advanced features like batch processing and archive extraction.
-
Batch Processing: Convert multiple files in a single operation.
-
Supported Input Formats: Handles GameCube and Wii disc images (
.iso,.gcm,.wbfs,.nkit.iso) and archives containing them (.zip,.7z,.rar). -
Archive Extraction: Automatically extracts and processes game files from ZIP, 7Z, and RAR archives using SharpCompress.
-
Configurable Compression: Customize compression method, level, and block size for optimal results.
-
Smart File Handling: Skips files that already exist in the output directory.
-
Delete Original Option: Optionally remove source files (including archives) after successful conversion.
-
Robust Parsing: Advanced logic for handling compound extensions like
.nkit.isoand localized number formats.
-
RVZ Integrity Verification: Verify the integrity of existing RVZ files using DolphinTool.
-
Real-time Feedback: Live logging of DolphinTool verification output (not just at the end).
-
Batch Verification: Check multiple RVZ files in a single operation.
-
File Organization: Automatically move verified files to
_Successor_Failedsubfolders. -
Detailed Reporting: Get comprehensive verification results for each file.
- Smooth Progress Tracking: A single, overall progress bar that smoothly tracks the entire batch operation, including real-time percentages from active tasks.
- Intelligent Auto-Scroll: The log viewer only snaps to the bottom if you are already looking at the latest logs, allowing you to read previous errors without interruption.
- Immediate Cancellation: Stop extractions and conversions instantly, even for massive 8GB+ files, thanks to asynchronous I/O and cancellation token support.
- Optimized Logging: High-performance log processing that handles thousands of lines without UI stuttering or high memory usage.
- Thread-Safe Dialogs: Robust UI handling that prevents crashes when showing error messages or update prompts from background threads.
- Auto-Update Checking: Accurate version comparison (e.g., matching
1.8.1tags to1.8.1.0assembly versions) with seamless GitHub integration.
- Asynchronous Architecture: Fully async/await implementation to keep the UI responsive during intensive I/O and processing.
- Cross-Architecture Support: Native support for both x64 and ARM64 Windows systems.
- Global Error Reporting: Automatic bug reporting to developers with comprehensive error details.
- Robust Cleanup: Asynchronous retry logic for deleting locked temporary files and directories.
- Memory Management: Efficient string handling and proper resource disposal to prevent leaks.
The application follows a modular architecture with clear separation of concerns:
| Component | Responsibility |
|---|---|
MainWindow |
UI coordination, user interaction handling, operation orchestration |
UpdateService |
GitHub API integration for checking application updates |
BugReportService |
Automatic error reporting to development team |
StatsService |
Statistics tracking for conversion and verification operations |
GitHubRelease |
Data model for GitHub release information |
SystemInfo |
System information data model |
DolphinTool |
External tool for RVZ conversion and verification |
SharpCompress |
Third-party library for archive extraction |
- ISO files: GameCube and Wii disc images (
.iso) - GCM files: GameCube disc images (
.gcm) - WBFS files: Wii Backup File System images (
.wbfs) - NKit ISO files: NKit compressed ISO files (
.nkit.iso) - Archive files: ZIP, 7Z, and RAR archives containing game files (
.zip,.7z,.rar)
- RVZ files: Compressed GameCube/Wii disc images (
.rvz)
- Runtime: .NET 10.0 Runtime
- Operating System: Windows 10 or later (x64 or ARM64)
- Dependencies: All required files are included in the release:
DolphinTool.exe(x64 systems)DolphinTool_arm64.exe(ARM64 systems)
- Download the latest release from the Releases page
- Extract the ZIP file to a folder of your choice
- Run
BatchConvertToRVZ.exe
-
Select Input Folder: Click "Browse" next to "Input Folder" to select the folder containing game files or archives to convert.
-
Select Output Folder: Click "Browse" next to "Output Folder" to choose where the RVZ files will be saved.
-
Configure General Settings:
- Check "Delete original files after conversion" to remove source files after successful conversion.
-
Configure Compression Settings:
- Method: Choose compression algorithm (zstd, zlib, lzma, lzma2, bzip2, lz4).
- Level: Adjust compression level (varies by method, e.g., 1-22 for zstd).
- Block Size: Select block size (32KB to 2MB, 128KB recommended).
-
Start Conversion: Click "Start Conversion" to begin the batch process.
-
Monitor Progress: Watch the smooth overall progress bar, statistics, and real-time log messages.
-
Cancel (if needed): Click "Cancel" to stop the operation gracefully and instantly.
-
Switch to Verify Tab: Click the "Verify Integrity" tab.
-
Select Verify Folder: Click "Browse" to select the folder containing RVZ files to verify.
-
Configure Options:
- Check "Move failed RVZ files to '_Failed' subfolder" to organize problematic files.
- Check "Move successful RVZ files to '_Success' subfolder" to organize verified files.
-
Start Verification: Click "Start Verification" to begin checking file integrity with real-time feedback.
-
Review Results: Check the log and statistics for detailed verification results.
- File > Exit: Close the application.
- Help > Check for Updates: Manually check for new versions on GitHub.
- Help > About: View application information and credits.
| Method | Speed | Compression | Use Case |
|---|---|---|---|
| zstd (default) | Fast | Good | Best balance for most users |
| zlib | Medium | Good | Maximum compatibility |
| lzma/lzma2 | Slow | Excellent | Maximum compression |
| bzip2 | Slow | Good | Alternative option |
| lz4 | Very Fast | Moderate | Speed priority |
- Default: zstd, level 5, 128KB block size
- Maximum Compression: lzma2, level 9, 2MB block size
- Fastest Conversion: lz4, level 1, 32KB block size
RVZ is a compressed disk image format developed specifically for the Dolphin Emulator. It is designed to store GameCube and Wii game data efficiently while retaining all necessary information for emulation.
- Efficient Compression: Significantly reduces file sizes compared to raw ISO images using advanced compression algorithms like Zstandard.
- Lossless: Compression is completely lossless, meaning no game data is lost during conversion.
- Metadata Preservation: Maintains all important disc metadata and structure.
- Data Integrity: Includes built-in verification to ensure image integrity.
- Full Compatibility: Directly supported by modern versions of Dolphin Emulator.
- Faster Loading: Often loads faster than uncompressed ISOs due to reduced I/O overhead.
- Missing Dependencies: Ensure
DolphinTool.exe(orDolphinTool_arm64.exefor ARM64 systems) is present in the application directory. - Permission Issues: Make sure you have read permissions for input directories and write permissions for output directories.
- Archive Extraction Failures: Verify that the archive files are not corrupted. The app now supports instant cancellation if extraction hangs.
- Conversion Errors: Check the detailed real-time log output for specific error messages.
- Performance Issues: Try reducing the number of concurrent files if you experience system instability.
- Auto-Reporting: The application automatically reports unexpected errors to developers for continuous improvement.
BatchConvertToRVZ/
├── App.xaml.cs # Application entry point, global exception handling
├── MainWindow.xaml # Main UI definition
├── MainWindow.xaml.cs # Main UI logic and operation orchestration
├── AboutWindow.xaml # About dialog UI
├── AboutWindow.xaml.cs # About dialog logic
├── services/
│ ├── UpdateService.cs # GitHub update checking service
│ ├── BugReportService.cs # Automatic error reporting service
│ └── StatsService.cs # Statistics tracking service
├── models/
│ ├── GitHubRelease.cs # GitHub API response model
│ └── SystemInfo.cs # System information model
├── icon/ # Application icons
├── images/ # UI images (menu icons, logo)
└── DolphinTool*.exe # External conversion/verification tool
- Install .NET 10.0 SDK
- Clone the repository
- Run
dotnet buildor open in Visual Studio / JetBrains Rider
- DolphinTool: Uses
DolphinToolfrom the Dolphin Emulator project for RVZ conversion and verification. - SharpCompress: Uses the SharpCompress library for reliable archive extraction.
- Development: Created and maintained by Pure Logic Code
If you find this application useful, please consider giving us a star on GitHub! It helps others discover the project and motivates us to continue improving it.
This application is developed and maintained for free. If you'd like to support continued development and new features, consider making a donation:
Your support helps us:
- Add new features and improvements
- Maintain compatibility with new versions of dependencies
- Provide ongoing bug fixes and support
- Create more useful tools for the community
Thank you for using Batch Convert to RVZ! For more information, support, and other useful tools, visit purelogiccode.com

