Skip to content

drpetersonfernandes/BatchConvertIsoToXiso

Repository files navigation

Batch ISO to XISO Converter

Platform .NET 10.0 Platform License: GPL v3 GitHub release

A high-performance Windows WPF utility for the Xbox preservation and emulation community. Convert, verify, and explore Xbox and Xbox 360 ISO files with dual-engine support: a native C# XDVDFS engine and external tool integration.

Application Screenshots


πŸ“‹ Table of Contents


Overview

Batch ISO to XISO Converter streamlines the process of converting standard Xbox and Xbox 360 ISOs into the optimized, trimmed XISO format. Built with a flexible multi-engine architecture, the tool combines a native C# XDVDFS engine with robust external tool integration (extract-xiso and xdvdfs), delivering superior performance and modern features like real-time disk write monitoring.

Whether you're managing a large collection of Xbox game backups or verifying the integrity of your dumps, this application provides a user-friendly interface with powerful batch processing capabilities.


Key Features

πŸ”„ Batch Conversion

  • Multi-Engine Support: Choose between the native C# XDVDFS engine, extract-xiso.exe, or xdvdfs.exe for conversion
  • Smart Trimming: Rebuilds ISOs into XISO format, removing unnecessary system padding and saving gigabytes of storage
  • Archive Support: Process .zip, .7z, and .rar files directly with high-performance extraction via SharpCompress
  • CUE/BIN Support: Integrated bchunk support for converting classic disc images to ISO format
  • System Update Removal: Option to skip the $SystemUpdate folder for additional space savings (supported by native engine and extract-xiso)

βœ… Integrity Testing

  • Structural Validation: Deep traversal of the XDVDFS file tree to ensure filesystem validity
  • Deep Surface Scan: Optional sequential sector reading to detect physical data corruption or bad sectors
  • Batch Organization: Automatically organize "Passed" or "Failed" images into dedicated subfolders

πŸ” XISO Explorer

  • Native Browsing: Open any Xbox ISO to browse files and directories without extraction
  • Metadata View: View file sizes, attributes, and directory structures directly in the UI
  • Double-Click to Open: Open files directly from the ISO with their default associated applications
  • Drag & Drop Extraction: Drag files out of the explorer to extract them to any folder (Windows Explorer, Desktop, etc.)

πŸ“Š Advanced Monitoring

  • Real-time Statistics: Track success/fail counts, elapsed time, and processed files
  • Disk Monitor: Live monitoring of write speeds and drive activity to identify hardware bottlenecks
  • Cloud-Aware: Automatic detection and handling of cloud-stored files (e.g., OneDrive)

Installation

Prerequisites

  • Operating System: Windows 10 (version 1809) or later / Windows 11
  • Runtime: .NET 10.0 Desktop Runtime
  • Architecture: x64 (64-bit) required

Steps

  1. Download the latest release from the Releases page
  2. Extract the ZIP file to your desired location
  3. Run BatchConvertIsoToXiso.exe

No installation required – the application is fully portable.


Usage

Converting ISOs

  1. Launch the application
  2. Click "Select Input Folder" and choose the directory containing your ISO files
  3. Click "Select Output Folder" to specify where converted files will be saved
  4. Configure options:
    • Remove System Update: Skip $SystemUpdate folder to save space
    • Replace Originals: Replace input files with converted versions
    • Test After Conversion: Automatically verify converted ISOs
    • Conversion Method: Select between extract-xiso, xdvdfs, or Native Logic
  5. Click "Convert" to start the batch process

Testing ISO Integrity

  1. Switch to the "Test ISO" tab
  2. Select your input folder containing ISO files
  3. Enable "Move Passed Files" and/or "Move Failed Files" to organize results
  4. Click "Test ISOs" to begin validation

Exploring XISO Contents

  1. Switch to the "XISO Explorer" tab
  2. Click "Open ISO" and select an Xbox ISO file
  3. Browse the file tree to view contents without extraction
  4. Open Files: Double-click any file to open it with its default application
  5. Extract Files: Drag and drop files from the explorer to Windows Explorer, Desktop, or any folder to extract them

Supported Formats

Operation Supported Formats
Conversion .iso, .zip, .7z, .rar, .cue / .bin
Testing .iso (Direct files)
Explorer .iso (Xbox/Xbox 360 XDVDFS)

Architecture

The application follows modern software engineering principles with a clean, maintainable architecture based on Dependency Injection and Service-Oriented Design.

Dependency Injection

Utilizes Microsoft.Extensions.DependencyInjection for comprehensive service management. All core logic is decoupled from the UI, enabling easier testing and modular updates.

Service Layer

Interface Implementation Responsibility
IOrchestratorService OrchestratorService Coordinates batch operation workflows
INativeIsoIntegrityService NativeIsoIntegrityService XDVDFS filesystem validation and surface scanning
IExtractXisoService ExtractXisoService External extract-xiso.exe integration
IXdvdfsService XdvdfsService External xdvdfs.exe integration
IExternalToolService ExternalToolService External tool orchestration (bchunk)
XisoWriter Native Class Core C# engine for rewriting and trimming ISO files
IFileExtractor FileExtractorService Archive extraction with error handling
IFileMover FileMoverService Safe file relocation with retry logic
IDiskMonitorService DiskMonitorService Real-time disk I/O metrics and free space monitoring
β€” PathHelper Static utility for path operations (UNC, network drives)
IBugReportService BugReportService Automated error reporting
ILogger Logger Centralized asynchronous logging
IUpdateChecker UpdateChecker Version checks via GitHub API
IMessageBoxService MessageBoxService Abstracted UI interactions

XISO Services Namespace

The Services/XisoServices/ directory contains the core XDVDFS implementation:

File Purpose
XisoWriter.cs Native C# XISO creation and trimming engine
BinaryOperations/NativeIsoIntegrityService.cs ISO integrity testing and surface scanning
BinaryOperations/FileEntry.cs XDVDFS file entry parsing
BinaryOperations/IsoSt.cs ISO stream operations
BinaryOperations/Utils.cs Binary utility functions
XDVDFS/XDVDFS.cs Core XDVDFS filesystem implementation
XDVDFS/VolumeDescriptor.cs XDVDFS volume descriptor parsing

Clean Code Structure

The MainWindow is organized into logical partial classes for maintainability:


System Requirements

Component Minimum Requirement
OS Windows 10 (1809) or Windows 11
.NET Runtime .NET 10.0 Desktop Runtime
Processor x64 architecture
RAM 4 GB recommended
Storage Varies based on ISO collection size

Safety & Reliability

  • Atomic Operations: Converted files are verified before originals are deleted
  • Automatic Cleanup: TempFolderCleanupHelper removes orphaned temporary files on startup or after crashes
  • Robust Error Handling: Comprehensive exception handling with automatic bug reporting
  • Network Resilience: Full support for UNC paths and mapped network drives with automatic retry logic for transient network failures
  • Cloud-Aware Retry: Automatic retries with exponential backoff for cloud-synced files (OneDrive, etc.)
  • Process Isolation: External tools run in isolated processes with cancellation support

Screenshots

Convert Tab Batch conversion interface with real-time progress monitoring

Test Tab ISO integrity testing with batch organization

Explorer Tab XISO file browser without extraction


Acknowledgements

  • extract-xiso - External XISO conversion tool
  • xdvdfs - External XDVDFS tool
  • XboxKit - Reference for core XDVDFS logic
  • bchunk - CUE/BIN to ISO conversion
  • SharpCompress - High-performance archive extraction
  • Pure Logic Code - Development and maintenance

License

This project is licensed under the GNU General Public License v3.0 – see the LICENSE.txt file for details.


⭐ If you find this tool useful, please give us a Star on GitHub! ⭐

Pure Logic Code

About

A high-performance Windows WPF application for batch converting Xbox ISO files to the trimmed XISO format and testing their integrity.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages