A powerful Windows desktop utility for both validating ROM files against No-Intro DAT files and generating new, compliant DAT files from your collection.
If you find ROM Validator useful, please consider:
- Giving us a star ⭐ on GitHub to help others discover this project
- Making a donation at https://www.purelogiccode.com/donate to support continued development
Your support helps keep this project alive and enables us to add new features and improvements!
The ROM Validator is a Windows application that allows users to validate their ROM collection against DAT files. It checks each file's size and hash (SHA1, MD5, or CRC32) to verify authenticity and integrity. The application can automatically organize files based on validation results for easy management of ROM collections.
- DAT File Support: Parses DAT files (XML format) to extract ROM validation criteria
- Multi-Hash Validation: Supports SHA1, MD5, and CRC32 hash verification
- Batch Processing: Validates all ROM files in a folder in a single operation
- Automatic Organization: Moves files to
_successor_failfolders based on validation results - Parallel Processing: Uses multi-threading for faster validation of large collections
- Detailed Logging: Provides real-time validation results with timestamps
- Statistics Tracking: Displays counts of successful, failed, and unknown files
- Progress Monitoring: Shows real-time progress of file validation with a progress bar and current file name.
- Status Bar: Provides concise, real-time application status messages at the bottom of the window.
- All ROM file formats supported by DAT specifications
- Compatible with DAT files from and similar preservation projects
- Windows 7 or later
- .NET 9.0 Runtime
- Download the latest release ZIP file
- Extract contents to a folder of your choice
- Run
RomValidator.exe
- Select ROMs Folder: Click "Browse" next to "ROMs Folder to Scan" to select your ROMs directory
- Select DAT File: Click "Browse" next to "DAT File" to select your DAT file
- Configure Options:
- Check "Move successful items" to automatically move valid ROMs to
_success - Check "Move failed/unknown items" to move invalid ROMs to
_fail - Check "Enable Parallel Processing" for faster validation (processes 3 files concurrently).
- Check "Move successful items" to automatically move valid ROMs to
- Start Validation: Click "Start Validation" to begin the process
- Review Results: Check the log window, statistics panel, and status bar for validation results and application status.
The validator performs these checks for each ROM file:
- Presence Check: Verifies the file exists in the DAT database
- Size Check: Compares actual file size with expected size
- Hash Verification: Validates SHA1, MD5, or CRC32 hashes (in order of priority)
Files are categorized as:
- ✅ Success: Matches all criteria in DAT file
- ❌ Failed: Fails size or hash check
- ❓ Unknown: Not found in DAT file
- Preservation: Ensures ROMs are exact copies of original media
- Compatibility: Guarantees files will work correctly with emulators
- Organization: Identifies corrupted or modified files in your collection
- Verification: Confirms you have authentic versions for preservation projects
- DAT File Issues: Ensure you're using a valid XML DAT file
- File Access Errors: Run as Administrator if encountering permission issues
- Validation Errors: Check log details for specific failure reasons
- Slow Performance: Reduce system load during validation for better performance
