Skip to content

XGDTool v1.4.0 — High-Throughput Engine & Quality of Life Overhaul

Latest

Choose a tag to compare

@Ashnar2602 Ashnar2602 released this 03 Sep 21:28

XGDTool v1.4.0 — High-Throughput Engine & Quality of Life Overhaul

Version 1.4.0 is a major Engine Throughput & Quality of Life Overhaul by Ashnar2602, featuring hardware-accelerated CRC32 vectorization, asynchronous double-buffering I/O prefetching, real-time MB/s throughput and ETA tracking, an image verification diagnostic engine, smart title renamer, Windows Explorer context menu integration, and automated post-conversion workflows.


Key Improvements & Features

  • Hardware-Accelerated Vectorized CRC32 (ChecksumHelper.h):

    • Implemented ARMv8-A ACLE hardware CRC32 (__ARM_FEATURE_CRC32 via __crc32d and __crc32b), reaching 15–20 GB/s on modern ARM64 devices (Android & Apple Silicon).
    • Implemented Slice-by-8 vectorized algorithm on x86_64, processing 8 bytes per clock cycle straight in L1 cache (4–5 GB/s per core).
  • Asynchronous Double-Buffering Ring Pipeline (CSOWriter & CCIWriter):

    • Integrated ping-pong double-buffering with background asynchronous read prefetching (std::async(std::launch::async, ...)).
    • Completely hides storage read latency behind parallel LZ4 compression passes, keeping worker threads continuously fed at maximum NVMe speed.
  • OS Sequential Hints & Zero-Fragmentation Pre-allocation (IOHints.h):

    • Integrated FILE_FLAG_SEQUENTIAL_SCAN on Windows and posix_fadvise(POSIX_FADV_SEQUENTIAL | POSIX_FADV_WILLNEED) on Linux/Android.
    • Zero-fragmentation disk pre-allocation (resize_file / posix_fallocate) eliminates dynamic cluster fragmentation during file extraction.
  • Real-Time Throughput (MB/s) & Dynamic ETA Countdown:

    • Live throughput metric (MB/s) and formatted ETA countdown (hh:mm:ss) computed in XGDLog::print_progress() for both terminal CLI output and GUI status.
  • Diagnostic Image Verification Mode (--verify / UI button):

    • New diagnostic scanner inspecting disc geometry (XGD2/XGD3, layer break), AVL filesystem tree, primary executable (default.xex / default.xbe), Title ID, Title Name, and streaming checksums (CRC32, MD5, SHA-1) without modifying disc images.
  • Smart Game Renamer (--smart-rename / UI option):

    • Automatically formats output file and directory names as [<TitleID>] <GameName> using internal executable certificates and online title matching.
  • Windows Explorer Shell Context Menu (--register-shell / --unregister-shell):

    • Instant non-elevated context menu integration in HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations for .iso, .xiso, .cso, .cci, and .zar.
  • Quality of Life Enhancements:

    • Added completion sound alert (wxBell()), automatic destination folder opening upon queue completion, and Android keep-screen-on setting.

Included Release Binaries

  • XGDTool-GUI.exe: Complete modern Windows GUI application with Dark Mode, Drag & Drop, batch queue manager, and multilingual support.
  • XGDTool-CLI.exe: Standalone Windows command-line executable for terminal automation, scripts, and batch processing.
  • XGDTool-Android.apk: Native Android app with Material 3 Xbox Dark UI, Zero-Copy storage access, background service, and multilingual localization.