#################################
# Clean No-Intro ROMs
# Author: SigKill
# Website: http://sigkillit.com
# Last Updated: 05/04/2026
################################# IMPORTANT: Make sure no Antivirus or Backups are scanning the source or destination folders for maximum performance!
#################################
#################################
#################################



CHANGE LOG
#################################

## [v6.5] - 05/04/2026
-Updated $script:RomDistroConfigs, $script:RomNoIntroHashTable, $script:RomCustomHashTable to be dot net imported and in the process corrected several copy/paste errors I had in previous versions.
-Updated $script:RomDistroConfigs to include bios and savestate directories.
-Added mame\mame2003 to Filters.
-Updated 1_Clean-NoIntroRoms.ps1: Improved collection stability, null guards, filter variable isolation, O(1) duplicate detection via Dictionary/HashSet, deferred single-pass ROM removal, exception pattern logging, and replaced wildcard Copy-Item with literal path construction in Upload-Roms.
-Updated 2_CompareFolderResults: Fixed $LogFiles case, -LiteralPath, Compare-Object Name property,Dir1/Dir2 diff labels, file counts per system, per-system diff totals, and Flush-LogBuffer.
-Updated 3_CheckXML: Fixed $romManualSplitstr, filter bleed-over, null safety, -LiteralPath,  TotalRoms on $gameObject, typos, and improved performance with ArrayList/ReadAllText/$_.name.
-Updated 4_UpdateVersion: Fixed $ScriptDirectory, $matches conflict, error styling, -LiteralPath/ -Encoding UTF8, multiline regex, PSCustomObject stats, Types.ps1 import, and auto-header insertion for filter files missing a version header.
-Updated 5_ConfirmFiltersExist: Added $LogFile parameter, -LiteralPath, ordered tables, FINAL RESULTS stats, section timing, moved extra file detection outside loop, and added -Recurse with relative path matching for subfolder filters like mame\mame2003.
-Updated 6_RemoveOrphanedFiles: Fixed script name, LogFile, -LiteralPath/ReadAllText, $mediaPath to use $MediaRoot, Write-Warning to Write-Text, media message, variable declarations, per-system timing, SMB disconnect, Step to Title styling, and redundant Test-Path on array.
-Updated Helper.ps1 functions Get-UniqueBaseNames, Get-UniqueSuffixNames, Get-UniqueStringsFast, Dedup-MultiSourceRoms, Remove-VariableIfExists, and Show-TimingSummary
-Update Log.ps1 to Buffer log file writes in Write-Out (flush every 100 lines) and added Flush-LogBuffer function, reducing disk I/O and eliminating file contention on large ROM sets.
-Updated readme.txt: fixed typo "patternc", corrected 6_RemovedOrphanedFiles to 6_RemoveOrphanedFiles, fixed RunCustomRomsCompare referencing wrong hashtable and typo "Cusom", and corrected $script:FindNonGame to $script:FindNonGames in readme.txt, updated Expected Results.

## [v6.4] - 07/01/2025
-Updated 3_CheckXML.ps1 to Detect non-game ROMs, Identify ROM files not listed in gamelist.xml, and Identify media files not listed in gamelist.xml. 
-Extended $script:ValidateData in 3_CheckXML.ps1 to include EmulationStation metadata and Batocera extended metadata fields.
-Enhanced $script:RomDistroConfigs with GameListRoot, MediaRoot, and MediaFolders for 3_CheckXML.ps1.
-Added 6_RemoveOrphanedFiles.ps1 to compliment the Orphaned ROM and Orphaned Media detection in 3_CheckXML.ps1.
-Corrected 'odyssey2' name to 'o2em' for Batocera in $script:RomNoIntroHashTable and the filter name.
-Fixed a bug in the MasterhashTable.ps1 "comments".  Apparently if you comment out a HashTable key/value pair it's still parsed and not treated as a comment and had weird effects breaking code in Convert-MasterHashTable.ps1 when modifying the comments. I removed the key/value pairs in the comments.
-Split MasterHashTable.ps1 into a second script Convert-MasterHashTable.ps1 so the original only has the hash tables and the latter converts it to other formats, and updated the code to better handle bugs. This is in preparation for future releases to start dot sourcing the MasterHashtable.ps1 so I can make further improvements such as having a single filter per game system instead of a version for each distro.
-Improved Show-RetroDistroValidation to dynamically list valid enum values.
-Updated Write-Out to Version 1.7
-Updated filters for amiga1200, atarist, c64, fds, gb, gbc, msx1, msx2, o2em, pcengine, pico, satellaview, scv, and vsmile

## [v6.3] - 06/15/2025
-Added _functions folder containing ps1 files for helper and log functions. These are now dot-sourced into each script, enabling centralized updates.
-Created MasterHashTable.ps1 in _functions, which defines detailed No-Intro and Custom hash tables. It can output these in multiple formats for copy/paste or future dot-sourcing.
-Introduced 5_ConfirmFiltersExist.ps1 to validate the existence of required filters per distro.
-Added RetroBat to the list of supported distros.
-Fixed a typo in 4_UpdateVersion.ps1 related to $filterDirectory validation.
-Corrected an incorrect filter file name (odyssey2.ps1) for Batocera.

## [v6.2] - 06/04/2025
-Added support for multiple Retro OS distributions, including major ones like Batocera, Recalbox, Lakka, and RetroPie. RetroPie was included despite appearing to slow or stop updates.
-To add support for a new Retro OS, update the RetroGameDistros enum, adjust any references to $script:RomDistro, extend $script:RomDistroConfigs, and extend either $script:RomNoIntroHashTable or $script:RomNoCustomHashTable with appropriate directory and filter configurations.
-Added support for multiple ROM source directories by making it an array instead of string. For example, the Commodore 64 system now references all three No-Intro source folders directly within the No-Intro hash table, eliminating the need for manual merging and inlcluding it in the Custom hash table.
-Updated all filters.
-Fixed an issue in Get-NoIntroDefaultFilters and Get-CustomDefaultFilters that caused errors when creating new filters. Also added additional fallback pattern matches for edge cases.
-Fixed a fringe case bug identifying primary ROM when $romsSortOrder has no matches and there are multiple matches for a unique ROM name. The script now selects the first match based on the default sort order.
-Refactored and reorganized the codebase with #region blocks, improved modularity, and optimized performance. Also upgraded Write-Out to v1.6.
-Updated the minimum required version to PowerShell 5.1.

## [v6.1] - 05/02/2025
-Updated filters to remove additional non-games and duplicates based on scraping tests.

## [v6.0] - 06/07/2023
-Rewrote all code to add features, updates, general code improvements, and optimizations for All Scripts which in some cases such as 3_CheckXML.ps1 are 10x faster!
-Added readme.txt and moved the change logs to there instead of the individual scripts.
-Updated Write-Out to v1.5 to allow support for multiple log files.
-Added ability to have Custom ROMs in Addition to No-Intro ROMs and Renamed functions to generalize the names.
-Added ability to detect Multicart ROMs for gaming systems that used multiple disks for a single game. I would consider this an experimental feature at the moment and will probably be improved in a future release.  So far in my testing, I'm getting the same results as v5.5 so it looks to be working fine but helps cleanup the filters needed.
-Replaced split() with -split to determine Primary ROM name. Split() is char array and -split is string array which allows using regex for advanced matching.
-Fixed issue with unzipping ROMs by Adding -LiteralPath
-On Filters, Renamed $romSplitchar with $romSplitstr to reflect switching to -split
-On Filters, Added $romSortAscending to allow sorting ROMS Ascending or Descending to determine Primary ROM name
-On Filters, added $romsMultiCart to detect Multicart Games
-Repaced Sort-Object with Natural Sort when determining primary ROM for ascending/descending order.
-Added variables to optionally skip sections of the script for faster results or test runs
-Added additional time tracking to results

## [v6.0b] - 06/07/2023
-Different code in '1_Clean-NoIntroRoms.ps1' Clean-Roms() Function on "STEP 3/7): Remove Exceptions" versus the code in the v6.0 release that I might want to later implement. This code seems to run faster on larger data sets or when it matches a large number of files to remove as exceptions. However, it seems to suffer when doing exact ROM matches, which is why I opted to pull it.

## [v5.6] - 11/5/2022
-Added 4_UpdateVersion.ps1 Script to programatically update version #'s on scripts and filters
-Added "Description" to Filters to help identify the ROM set they're intended to be used on. 
-Updated Clean-NoInroRoms Default Filters to Include a Description.

## [v5.5] - 10/3/2022
-Added $romSplitchar variable to Filters to customize how unique ROM names are determined
-Everything to the left of $romSplitchar is determined to be the unique ROM name.  
-If $romSplitchar is left blank, all ROMs will be skipped. Recommended to keep default '(' for No-Intro ROMs
-Fixed logs in 1_Clean-NoIntroRoms_Exceptions.log so they stay in order

## [v5.4] - 10/3/2022
-Fixed bug in Get-NoIntroRomsExceptions When ROM Name Does Not Contain '('
-Fixed bug setting non-duplicate primary ROM due to name missing $romSplitchar resulting in 0 matches
-Updated Filters by adding ROM extensions as last resort when matching, otherwise primary ROM is never set
-Added $script:ScriptVersion to Set Filter Version in Get-NoIntroDefaultFilters Function

## [v5.3] - 12/11/2020
-Re-Added Function Get-NoIntroDefaultFilters which was accidently removed from version 5.2
-Renamed "config" to "filter" where filters are stored
-Added Changelog in Comments

## [v5.2] - 10/8/2020
-Added variables for Write-Out Colors and Updated to Write-Out v1.3
-Updated Filters
-On CheckXML.ps1, Missing attributes set to $true were not being detected, only worked if they had a blank value

## [v5.1] - 9/28/2020
-Fixed minor bugs and updated filters

## [v5.0] - 9/10/2020
-Rewrote the code to be modular by importing filters for each game system instead of using separate scripts
-Added variables to define where to store game system filters and logs
-Replaced $MyInvocation.MyCommand.Name with $PSCommandPath which requires Powershell 3 or greater
-Replaced Log-Write with Write-Out function which requires Powershell 4 or greater
-Added Atari Jaguar because it can run on PI4 with proper customization
-Fixed bug with romsDoNotDelete
-Fixed bug where exceptions were not removed from uniqueRom causing it to still evaluate them for duplicates



SCRIPT USAGE
#################################

1_Clean-NoIntroRoms.ps1
*********************************
Description: 
	I did not want my Emulation Distros to be cluttered with unnecessary ROMs. I only wanted the original games, I did not want duplicates, revisions, and I preferred games in English. For example, the NES has about 716 officially licensed games and the No-Intro 2018 ROM set has about 2,748 games in it. I wanted to reduce that number closer to the officially licensed games count to save space and reduce the amount of ROMs I would have to scroll through each time. I decided to create several powershell scripts based on the No-Intro 2018 ROM set to accomplish my goal, which is explained in further detail below.

[Select Retro OS Distribution to Process]
$script:RomDistro: 
	Select the Retro OS Distribition to process, which is restricticted to the values in the RetroGameDistros Enumeration currently including (Batocera, Recalbox, Lakka, and Retropie).  You can have multiple values in an array format if you want to run against multiple distros.
	Default is All Distros.

[ROM Sets Directories and Processing]
$script:RomNoIntroDirectory: 
	Source No-Intro 2018 Game System ROM Directory. Each game system should have a folder in here that matches in $script:RomNoIntroHashTable.
	Default is "C:\Games\Complete ROM Sets\No-Intro 2018\".

$script:RomCustomDirectory: 
	Source Custom Game System ROM Directory. Each game system should have a folder in here that matches in $script:RomCustomHashTable. 
	Default is "C:\Games\Complete ROM Sets\Custom\".

$script:RomCleanDirectory: 
	Destination Directory to Copy Cleaned Source ROMs. Each game system will have a directory in here that matches the one on retropie as  defined in $script:RomNoIntroHashTable and $script:RomCustomHashTable. 
	Default is "C:\Games\Distros\".

$script:RomCleanDirectoryPurge: 
	Purge the $script:RomCleanDirectory Directory Before Copying ROMs. It is recommended to enable this to ensure you ONLY have the cleaned ROMs in your destination directory. When running the script multiple times while changing filters, your cleaned ROM results will differ. For example: On your initial run you end up with 100 cleaned ROMs, then you modify a filter for a second run that has 95 cleaned ROMs, you would still have at least 100 ROMs in the Destination Cleaned ROM directory even if you enabled	$script:RomOverwrite. 
	Default is $true.

$script:RomCleanDirectoryOverwrite: 
	Overwrite existing ROMs in each game system directory in $script:RomCleanDirectory if the game system directory exists. When $false, it will not copy any ROMs into the game system directory if it exists. When $true, it will copy and overwrite ROMs into the game system directory if it exists, but will not remove any additional ROMs or files that exist. The intent is to replace a ROMs you find issues with when testing without having to clear the entire directory such as replacing a corrupt ROM with a known good ROM of the same name.  It is recommended to use $script:RomCleanDirectoryPurge instead. 
	Default is $false.

$script:RomFilterDirectory: 
	Directory that stores the "filters" for each game system. The filters are .ps1 files named using the RetroPie directory name defined in $script:RomNoIntroHashTable and $script:RomCustomHashTable. I have customized the filters for each system and included them by default. You can modify them to your liking or if they do not exist, the script will generate a generic filter for each system. 
	Default is a "filters" folder in the same directory as the script.

$script:RomDedupMultiSourceReversed:
	For Game Systems that have multiple source folders such as Commodore 64, it will deduplicate ROMS keeping the first ROM based on the Priority the folders are specified in $script:RomNoIntroHashTable or $script:RomCustomHashTable.  the default preference is to keep the file based on the source folder older in the event of a duplicate file.  For example, if there are two source folders (Source1 and Source2), then there is a duplicate file (zork1.zip) in both folders, it will copy that file from Source1 and will not copy/overwrite the duplicate from the Source2 folder.  If you wish to change this behavior, setting this to $false will reverse the order so the last folder specified will take the highest priority.
	Default is $false.

$script:RomNoIntroHashTable: 
	HashTable containing No-Intro ROM directory names on the retropie and your source directory listed by each Retro OS Distribution. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for Nintendo NES, you can comment out the other systems by adding a # at the begginning of that line ex: # "nes" = @("Nintendo - Nintendo Entertainment System [headered]"), but make sure you do it under the Distribution that matches $script:RomDistro (e.g. [RetroGameDistros]::Batocera). 
	Default is all enabled unless noted othewise.
	
$script:RomCustomHashTable: 
	HashTable containing Custom ROM directory names on the retropie and your source directory listed by each Retro OS Distribution. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for NeoGeo, you can comment out the other systems by adding a # at the begginning of that line ex: # "neogeo" = "neo-geo-mvs-romset", but make sure you do it under the Distribution that matches $script:RomDistro (e.g. [RetroGameDistros]::Batocera). 
	Default is all enabled unless noted othewise.

[Enable/Disable Parts of the Script to Run]
$script:RunNoIntroRomsExceptions: 
	Enable/Disable running the Get-RomsExceptions Function used to build a list of potential exceptions to create filters used to remove unwanted ROMs for each system defined in the $script:RomNoIntroHashTable. 
	Default is $true.
	
$script:RunNoIntroRomsClean: 
	Enable/Disable running the Clean-Roms Function used to clean No-Intro ROMs defined in the $script:RomNoIntroHashTable. 
	Default is $true.

$script:RunNoIntroRomsUpload:
	Enable/Disable running the Upload-Roms Function used to upload cleaned No-Intro ROMs to the Distros.
	Default is $false.
	
$script:RunCustomRomsExceptions: 
	Enable/Disable running the Get-RomsExceptions Function used to build a list of potential exceptions to create filters used to remove unwanted ROMs for each system defined in the $script:RomCustomHashTable. 
	Default is $false.

$script:RunCustomRomsClean: 
	Enable/Disable running the Clean-Roms Function used to clean Custom ROMs defined in the $script:RomCustomHashTable. 
	Default is $false.
	
$script:RunCustomRomsUpload:
	Enable/Disable running the Upload-Roms Function used to upload cleaned Custom ROMs to the Distros.
	Default is $false.

[Retropie Upload ROM Variables]
$script:RomDistroDirectoryPurge
	Purge the destion ROM directory for each game system prior to copying the cleaned Rom Source to your distro. It is recommended to enable this to ensure you ONLY have the cleaned ROMs. 
	Default is $true.

$script:RomDistroOverwrite: 
	Overwrite existing ROMs in each game system directory in $script:RomRetropieDirectory if the game system directory exists. When $false, it will not copy any ROMs into the game system directory if it exists. When $true, it will copy and overwrite ROMs into the game system directory if it exists, but will not remove any additional ROMs or files that exist. It is recommended to use $script:RomRetropieDirectoryPurge instead. 
	Default is $false.

$script:RomDistroConfigs: 
	UNC SMB path for each distros roms directory, default username/password, root directory for gamelist.xml, root directory for media files and the media folder names, and custom error message. You shouldn't have to change these variable unless your comptuter is unable to resolve the distro name on your network in which case you can replace it with the ip ex: "\\192.168.5.25\roms\" for Retropie.
	Default is "\\retropie\roms\"

[System Variables - Do Not Change These]
$script:ScriptName: Defaults to name of the .ps1 script. Do not change this.
$script:ScriptVersion: Script version.  Do not change this.
enum RetroGameDistros: Enumeration of available RetroOS's available in the script.  Do not change unless you plan to expand all of the code where used.
$script:LogFile: Main log file where all output is stored. Do not change this.
$script:LogOverwrite: Overwrite Log Files each time the script runs. Do not change this.
$script:LogVerbose: Log detailed info for determining primary ROM for debugging. Do Not change this.
$script:LogRemoveExceptions: Log removal of ROM Exceptions. Default is true, and setting to false is for advanced use only to speed up results on large ROM sets. Do not change this.



2_CompareFolderResults
*********************************
Description: 
	This is intended to be used as the supplemental script (2_CompareFolderResults.ps1) to be used in conjunction with the 1_Clean-NoIntroRoms.ps1 and 3_CheckXML.ps1 scripts. This script allows you to compare the files/roms in 2 directories to show the differences in files of each folder by using the compare-object cmdlet. It is intended to compare the different results in 1_Clean-NoIntroRoms.ps1 when you change the filters for a system.

[Select Retro OS Distribution to Process]
$script:RomDistro: 
	Select the Retro OS Distribitin to process, which is restricticted to the values in the RetroGameDistros Enumeration currently including (Batocera, Recalbox, Lakka, and Retropie). You can only select 1 value since it's only comparing 2 folders.
	Default is Batocera.
	
[ROM Sets Directories and Processing]
$script:RomCleanDirectory1: 
	Directory with Cleaned ROMs. Each game system will have a directory in here that matches the one on retropie as defined in $script:RomNoIntroHashTable and $script:RomCustomHashTable. 
	Default is "C:\Games\Batocera\roms\".

$script:RomCleanDirectory2: 
	Alternate Directory with Cleaned ROMs, which you want to compare to $script:RomCleanDirectory. If you want to test modifying filters on 1_Clean-NoIntroRoms.ps1, you can use this directory to compare your results. 
	Default is "C:\Games\Batocera\roms2\".
	
$script:RomNoIntroHashTable: 
	HashTable containing No-Intro ROM directory names on the retropie and your source directory listed by each Retro OS Distribution. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for Nintendo NES, you can comment out the other systems by adding a # at the begginning of that line ex: # "nes" = @("Nintendo - Nintendo Entertainment System [headered]"), but make sure you do it under the Distribution that matches $script:RomDistro (e.g. [RetroGameDistros]::Batocera). 
	Default is all enabled unless noted othewise.
	
$script:RomCustomHashTable: 
	HashTable containing Custom ROM directory names on the retropie and your source directory listed by each Retro OS Distribution. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for NeoGeo, you can comment out the other systems by adding a # at the begginning of that line ex: # "neogeo" = "neo-geo-mvs-romset", but make sure you do it under the Distribution that matches $script:RomDistro (e.g. [RetroGameDistros]::Batocera). 
	Default is all enabled unless noted othewise.

[Enable/Disable Parts of the Script to Run]
$script:RunNoIntroRomsCompare: 
	Enable/Disable comparing folders for No-Intro ROMs defined in $script:RomNoIntroHashTable. 
	Default is $true.

$script:RunCustomRomsCompare: 
	Enable/Disable comparing folders for Custom ROMs defined in $script:RomCustomHashTable. 
	Default is $true.

[System Variables - Do Not Change These]
$script:ScriptName: Defaults to name of the .ps1 script. Do not change this.
$script:ScriptVersion: Script version.  Do not change this.
enum RetroGameDistros: Enumeration of available RetroOS's available in the script.  Do not change unless you plan to expand all of the code where used.
$script:LogFile: Main log file where all output is stored. Do not change this.
$script:LogOverwrite: Overwrite Log Files each time the script runs. Do not change this.



3_CheckXML.ps1
*********************************
Description: 
	This is intended to be used as the supplemental script (3_CheckXML.ps1) to be used in conjunction with the 1_Clean-NoIntroRoms.ps1 and 2_CompareFolderResults.ps1 scripts. This script allows you check missing scraped data in RetroPie by examining the gamelist.xml file for each game system on you RetroPie. This can save you HOURS of time manually checking for missing ROM scraped data. In addition, it helps identify potential duplicate ROMs based on the scraped Name.  NOTE: Duplicate detection was re-written in 6.0, so it is about 10x faster! You can Check No-Intro in about 1min vs. 10min on older versions of the script.

[Select Retro OS Distribution to Process]
$script:RomDistro: 
	Select the Retro OS Distribition to process, which is restricticted to the values in the RetroGameDistros Enumeration currently including (Batocera, Recalbox, Lakka, and Retropie).  You can have multiple values in an array format if you want to run against multiple distros.
	Default is Batocera.

[ROM Sets Directories and Processing]
$script:RomSplitstr: 
	Manually set $romSplitst, otherwise it will import it from the games filter file. This is used to determine the ROM's unique name. 
	Default is "" so it will import from the games Filter.

$script:RomFilterDirectory: 
	Directory that stores the "filters" for each game system. The filters are .ps1 files named using the RetroPie directory name defined in $script:RomNoIntroHashTable and $script:RomCustomHashTable. I have customized the filters for each system and included them by default. You can modify them to your liking or if they do not exist, the script will generate a generic filter for each system. 
	Default is a "filters" folder in the same directory as the script.				  

$script:FindRomDuplicates: 
	Optionally skip duplicate ROM detection and only do $script:ValidateData checks. Duplicate detection was greately improved in version 6.0 to be about 10x faster, so it's not really necessary to disable this. Uses the same method as 1_Clean-NoIntroRoms.ps1 to identify potential duplicates based on their base name and supports multicart roms.
	Default setting is $true. 

$script:IgnoreMulticartDuplicates: 
	If enabled, any potential duplicate ROM that matches the regex in $MultiCartExceptions would be excluded as a duplicate. 
	Default is $true.

$script:MultiCartExceptions: 
	Manually set $MultiCartExceptions, otherwise it will import from the games filter file if left blank.  This is used to determine Multirom games when identifying duplicate ROMs.
	Default is @().

$script:NonGames:
	Optionally used to Find Non-Games in the gamelist.xml. You will need to customize this based on the scraper used as they all work differently, and it is an array so you can supply multiple valus for different systems/scrapers. Default value is the one used by Batocera's scraper.
	Default is @("ZZZ(notgame)")

$script:FindGameDuplicates:
	Optionally find duplicate games in gamelist.xml after scraping. Checks for duplicate name elements in gamelist.xml after scraping.  For example, for Commodore 64 some ROMs have different ROM names for the same game that would be missed by ROM Duplicates due to the ROM basenames being different such as 'Wonder Boy (USA, Europe).zip' vs 'Wonderboy (USA, Europe).zip'.
	Default is $true.

$script:FindNonGames:
	Optionally find Non-Games in gamelist.xml after scraping. These would show up like 'ZZZ\(notgame)' in the XML file for things such a calculator program, but this can vary based on the scraper used. You will need to customize this using the $script:NonGames variable.
	Default is $true.
	
$script:FindRomsNotInXml:
	Optionally find ROMs not in the gamelist.xml after scraping. These are orphaned ROM files in the directory.
	Default is $true.
	
$script:FindMediaNotInXml:
	Optionally find Media files not in gamelist.xml after scraping. These are orphaned media files such as videos
	Default is $true.

$script:ValidateVerbose: 
	Override all settings in ValidateChild and Validate all properties in it. Please note, many game systems do not use all of the properties, so this will add a lot more results and increase the time to run the script.
	Default is $false.

$script:ValidateData: 
	Allows you to individually set the properties to check if the data has been scraped. Please note, many game systems do not use all of the properties, or you may have chosen to not scrape certain data such as videos to save disk space. I have only enabled the most common properties by default. If $script:ValidateVerbose is enabled, all properties set here will be ignored and it will check all properties. 
	Default is "name, image, desc" set to $true and the rest set to $false.

$script:RomNoIntroHashTable: 
	HashTable containing No-Intro ROM directory names on the retropie and your source directory. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for Nintendo NES, you can comment out the other systems by adding a # at the begginning of that line ex: # "nes" = "Nintendo - Nintendo Entertainment System [headered]". 
	Default is all enabled.
	
$script:RomCustomHashTable: 
	HashTable containing Custom ROM directory names on the retropie and your source directory. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for NeoGeo, you can comment out the other systems by adding a # at the begginning of that line ex: # "neogeo" = "neo-geo-mvs-romset". 
	Default is all enabled.

[Enable/Disable Parts of the Script to Run]
$script:RunNoIntroRomsXml: 
	Enable/Disable checking XML for No-Intro ROMs defined in $script:RomNoIntroHashTable. 
	Default is $true.
	
$script:RunCustomRomsXml: 
	Enable/Disable checking XML for Custom ROMs defined in $script:RomCustomHashTable. 
	Default is $false.
	
[Distro Configs]
$script:RomDistroConfigs: 
	UNC SMB path for each distros roms directory, default username/password, root directory for gamelist.xml, and custom error message. You shouldn't have to change these variable unless your comptuter is unable to resolve the distro name on your network in which case you can replace it with the ip ex: "\\192.168.5.25\roms\" for Retropie.
	Default is "\\retropie\roms\"

[System Variables - Do Not Change These]
$script:ScriptName: Defaults to name of the .ps1 script. Do not change this.
$script:ScriptVersion: Script version.  Do not change this.
enum RetroGameDistros: Enumeration of available RetroOS's available in the script.  Do not change unless you plan to expand all of the code where used.
$script:LogFile: Main log file where all output is stored. Do not change this.
$script:LogOverwrite: Overwrite Log Files each time the script runs. Do not change this.



4_UpdateVersion.ps1
*********************************
Description: 
	This is intended to be used as the supplemental script to be used in conjunction with the other scripts and game system filters. Whenever an update is made to any script or filter that requires a version update, this script will update the version number in each file. In addition, it will append the version to the 'CHANGE LOG' section in readme.txt, which you can add the changes made.

[Select Retro OS Distribution to Process]
$script:RomDistro: 
	Select the Retro OS Distribition to process, which is restricticted to the values in the RetroGameDistros Enumeration currently including (Batocera, Recalbox, Lakka, and Retropie).  You can have multiple values in an array format if you want to run against multiple distros.
	Default is Batocera.

[ROM Filters Directories and Processing]	
$script:RomFilterDirectory: 
	Directory that stores the "filters" for each game system. The filters are .ps1 files named using the RetroPie directory name defined in $script:RomNoIntroHashTable. I have customized the filters for each system and included them by default. You can modify them to your liking or if they do not exist, the script will generate a generic filter for each system. 
	Default is a "filters" folder in the same directory as the script.

$FileVersion: 
	Manually Set Script Version here or Read it From First Script File.
	Default is "", which means it will read the value from the first Script File.
	
[Enable/Disable Parts of the Script to Run]
$script:DryRun
	Displays the changes it will make on the Script Files, Readme.txt, and Filter files without actually writing data.
	Default is $true as a safeguard to prevent accidental overwriting

[System Variables - Do Not Change These]
$script:ScriptName: Defaults to name of the .ps1 script. Do not change this.
$script:ScriptVersion: Script version.  Do not change this.
enum RetroGameDistros: Enumeration of available RetroOS's available in the script.  Do not change unless you plan to expand all of the code where used.
$script:LogFile: Main log file where all output is stored. Do not change this.
$script:LogOverwrite: Overwrite Log Files each time the script runs. Do not change this.



5_ConfirmFiltersExist.ps1
*********************************
Description: 
	This script audits your filters to ensure there is a filter file for each distro.

[Select Retro OS Distribution to Process]
$script:RomDistro: 
	Select the Retro OS Distribition to process, which is restricticted to the values in the RetroGameDistros Enumeration currently including (Batocera, Recalbox, Lakka, and Retropie).  You can have multiple values in an array format if you want to run against multiple distros.
	Default is Batocera.

[ROM Filters Directories and Processing]	
$script:RomFilterDirectory: 
	Directory that stores the "filters" for each game system. The filters are .ps1 files named using the RetroPie directory name defined in $script:RomNoIntroHashTable. I have customized the filters for each system and included them by default. You can modify them to your liking or if they do not exist, the script will generate a generic filter for each system. 
	Default is a "filters" folder in the same directory as the script.

$script:RomNoIntroHashTable: 
	HashTable containing No-Intro ROM directory names on the retropie and your source directory. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for Nintendo NES, you can comment out the other systems by adding a # at the begginning of that line ex: # "nes" = "Nintendo - Nintendo Entertainment System [headered]". 
	Default is all enabled.
	
$script:RomCustomHashTable: 
	HashTable containing Custom ROM directory names on the retropie and your source directory. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for NeoGeo, you can comment out the other systems by adding a # at the begginning of that line ex: # "neogeo" = "neo-geo-mvs-romset". 
	Default is all enabled.

[Distro Configs]
$script:RomDistroConfigs: 
	UNC SMB path for each distros roms directory, default username/password, root directory for gamelist.xml, and custom error message. You shouldn't have to change these variable unless your comptuter is unable to resolve the distro name on your network in which case you can replace it with the ip ex: "\\192.168.5.25\roms\" for Retropie.
	Default is "\\retropie\roms\"

[System Variables - Do Not Change These]
$script:ScriptName: Defaults to name of the .ps1 script. Do not change this.
$script:ScriptVersion: Script version.  Do not change this.
enum RetroGameDistros: Enumeration of available RetroOS's available in the script.  Do not change unless you plan to expand all of the code where used.
$script:LogFile: Main log file where all output is stored. Do not change this.
$script:LogOverwrite: Overwrite Log Files each time the script runs. Do not change this.



6_RemoveOrphanedFiles.ps1
*********************************
Description: 
	This script removes orphaned ROM and Media files from Distros that do not exist in gamelist.xml. It is meant to compliment the orphaned ROM and Media detection in 3_CheckXML.ps1.

[Select Retro OS Distribution to Process]
$script:RomDistro: 
	Select the Retro OS Distribition to process, which is restricticted to the values in the RetroGameDistros Enumeration currently including (Batocera, Recalbox, Lakka, and Retropie).  You can have multiple values in an array format if you want to run against multiple distros.
	Default is Batocera.

[ROM Directories and Processing]	
$script:RomNoIntroHashTable: 
	HashTable containing No-Intro ROM directory names on the retropie and your source directory. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for Nintendo NES, you can comment out the other systems by adding a # at the begginning of that line ex: # "nes" = "Nintendo - Nintendo Entertainment System [headered]". 
	Default is all enabled.
	
$script:RomCustomHashTable: 
	HashTable containing Custom ROM directory names on the retropie and your source directory. You can comment out any game system in the hashtable if you do not want to run the script for that game system. For example, if you only want to clean ROMS for NeoGeo, you can comment out the other systems by adding a # at the begginning of that line ex: # "neogeo" = "neo-geo-mvs-romset". 
	Default is all enabled.

[Distro Configs]
$script:RomDistroConfigs: 
	UNC SMB path for each distros roms directory, default username/password, root directory for gamelist.xml, and custom error message. You shouldn't have to change these variable unless your comptuter is unable to resolve the distro name on your network in which case you can replace it with the ip ex: "\\192.168.5.25\roms\" for Retropie.
	Default is "\\retropie\roms\"

$script:DeleteOrphanedRoms: Enable/Disable deleting orphaned ROMs.

$script:DeleteOrphanedMedia: Enable/Disable deleting orphaned Media files.

[System Variables - Do Not Change These]
$script:ScriptName: Defaults to name of the .ps1 script. Do not change this.
$script:ScriptVersion: Script version.  Do not change this.
enum RetroGameDistros: Enumeration of available RetroOS's available in the script.  Do not change unless you plan to expand all of the code where used.
$script:LogFile: Main log file where all output is stored. Do not change this.
$script:LogOverwrite: Overwrite Log Files each time the script runs. Do not change this.



FILTERS USAGE
#################################

Description: 
	I have customized and included these since v5.0 and they are located in ".\filters\<gamesystem>.ps1". If you want customize which ROMs are cleaned or kept for each system, this is what you want to change.

$romSplitstr: 
	Customize the string used to split a ROM name to determine the unique ROM names by using everything to the left of this string. This string is a regex to allow advanced matching, but you need to escape special characters using a backslash '\' or using [regex]::escape(), which will automatically escape any special characters. 
	Default for the No-Intro ROMs this is a left parenthesis set as "\(" or [regex]::escape("("), and varies for the Custom ROMs. For example, when comparing "Darkwing Duck (USA).zip" and  "Darkwing Duck (Europe).zip" for NES, the unique ROM name would be "Darkwing Duck ". The script would then use $romSortOrder to determine which of the two files to keep, which would be the USA version if you use my default filters.

$romSortAscending: 
	Determines if the ROMs are sorted in ascending/descending alphabetical order. The sort order determines the order the ROMs are matched in $romsSortOder and if there are no matches the first file is chosen as primary. 
	Default is $true which sorts ROMs ascending.

$romUnzip: 
	Unzip ROMs for emulators that don’t support .zip files. Setting this to $true will unzip the files and $false will NOT unzip them after cleaning then in Script 1.

$romsDoNotDelete: 
	Any exact ROM name (including extension) in this list will NOT be deleted. ROMs listed here will not be deleted even in they match a value in $romsExceptions or they are NOT the Primary ROM via $romSortOrder. Ex: "Castlevania (USA) (Rev A).zip" would always keep this specific ROM.
	Default is @().

$romsExceptions: 
	Any ROMs containing these strings or exact ROM name will be removed unless the exact ROM name is in $romsDoNotDelete.
	Default is @().

$romsSortOrder: 
	Preferred sorting order to pick 1 Primary ROM to keep when evaluating duplicates. Uses regular expressions to define the preferred sorting order based on language, and if there are no matches it will determine the primary ROM by either ascending/descending alphabetical order defined in $romSortAscending. ROMs in $romsExceptions will not be deleted even if it is not determined to be the Primary ROM.
	Default is @().

$romsMultiCart
	I would consider this an experimental feature as of v6.0 and will probably be improved in a future release. Some gaming systems used multiple disks for a single game, and this allows you to keep these multicarts as an exception. Once the primary ROM is determined for a game, it will check if it has a multicart exception by checking if the primary ROM name matches a regex in $romsMultiCart. If a match is found, it considers a multicart the exact name of the ROM and replaces the matching text with the regex $romsMultiCart. For example, in the $romsMultiCart hash table, if you had the value "\(Disk\s?[1-4].*\)" and your primary ROM was "Dungeon Master (Disk 1).zip", it would consider any ROM matching the name "Dungeon Master (Disk #).zip" a Multicart exception to keep where # is 1 to 4.
	Default is @().
	


EXPECTED RESULTS & TROUBLESHOOTING
#################################

1_Clean-NoIntroRoms.ps1 should take about 5 minutes (Verbose Logging) & 4 minutes (Non-Verbose Logging) to complete All No-Intro ROMs on Batocera and 5 minutes (Verbose Logging) & 4 minutes (Non-Verbose Logging) to complete All Custom ROMs on Batocera, which is skewed by ZXSpectrum.  If the script seems to be running slow, ake sure you don't have any Antivirus or Backup software running on the source, destination, or script directories.
Here are my No-Intro 2018 & Custom Results for comparison using v6.5:

  ======================================================================
  **********************************************************************
  >> SECTION: CLEAN NO-INTRO ROMS BATOCERA [1/1]
  **********************************************************************
 
	Step 8/8 Clean No-Intro ROMs Results: (ADVISION) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 5                       
    ROMs UNIQUE               : 5                       
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 1                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 1                       
    ROMs Total Cleaned        : 4                       
    ROMs Total Cleaned Size   : 0.01MB                  
    Start Time                : 05/04/2026 01:46:43     
    End Time                  : 05/04/2026 01:46:43     
    Elapsed Time              : 0.18                    

    Step 8/8 Clean No-Intro ROMs Results: (AMIGA1200) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 2820                    
    ROMs UNIQUE               : 2197                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 290                     
    ROMs Dups Deleted         : 473                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 763                     
    ROMs Total Cleaned        : 2057                    
    ROMs Total Cleaned Size   : 2177.32MB               
    Start Time                : 05/04/2026 01:46:43     
    End Time                  : 05/04/2026 01:47:25     
    Elapsed Time              : 41.43                   

    Step 8/8 Clean No-Intro ROMs Results: (ARCADIA) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 48                      
    ROMs UNIQUE               : 48                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 48                      
    ROMs Total Cleaned Size   : 0.18MB                  
    Start Time                : 05/04/2026 01:47:25     
    End Time                  : 05/04/2026 01:47:25     
    Elapsed Time              : 0.66                    

    Step 8/8 Clean No-Intro ROMs Results: (ATARI2600) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 582                     
    ROMs UNIQUE               : 566                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 89                      
    ROMs Dups Deleted         : 15                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 104                     
    ROMs Total Cleaned        : 478                     
    ROMs Total Cleaned Size   : 1.98MB                  
    Start Time                : 05/04/2026 01:47:25     
    End Time                  : 05/04/2026 01:47:29     
    Elapsed Time              : 3.83                    

    Step 8/8 Clean No-Intro ROMs Results: (ATARI5200) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 107                     
    ROMs UNIQUE               : 104                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 34                      
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 34                      
    ROMs Total Cleaned        : 73                      
    ROMs Total Cleaned Size   : 0.72MB                  
    Start Time                : 05/04/2026 01:47:29     
    End Time                  : 05/04/2026 01:47:30     
    Elapsed Time              : 0.8                     

    Step 8/8 Clean No-Intro ROMs Results: (ATARI7800) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 116                     
    ROMs UNIQUE               : 67                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 10                      
    ROMs Dups Deleted         : 47                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 57                      
    ROMs Total Cleaned        : 59                      
    ROMs Total Cleaned Size   : 1.81MB                  
    Start Time                : 05/04/2026 01:47:30     
    End Time                  : 05/04/2026 01:47:31     
    Elapsed Time              : 0.86                    

    Step 8/8 Clean No-Intro ROMs Results: (ATARIST) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 306                     
    ROMs UNIQUE               : 302                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 6                       
    ROMs Dups Deleted         : 4                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 10                      
    ROMs Total Cleaned        : 296                     
    ROMs Total Cleaned Size   : 99.67MB                 
    Start Time                : 05/04/2026 01:47:31     
    End Time                  : 05/04/2026 01:47:36     
    Elapsed Time              : 5.14                    

    Step 8/8 Clean No-Intro ROMs Results: (C20) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 292                     
    ROMs UNIQUE               : 217                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 57                      
    ROMs Dups Deleted         : 64                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 121                     
    ROMs Total Cleaned        : 171                     
    ROMs Total Cleaned Size   : 0.98MB                  
    Start Time                : 05/04/2026 01:47:36     
    End Time                  : 05/04/2026 01:47:38     
    Elapsed Time              : 2.26                    

    Step 8/8 Clean No-Intro ROMs Results: (C64) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 3676                    
    ROMs UNIQUE               : 2834                    
    ROMs Msrc Dedup Deleted   : 153                     
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 404                     
    ROMs Dups Deleted         : 627                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 1184                    
    ROMs Total Cleaned        : 2492                    
    ROMs Total Cleaned Size   : 220.15MB                
    Start Time                : 05/04/2026 01:47:38     
    End Time                  : 05/04/2026 01:47:53     
    Elapsed Time              : 15.13                   

    Step 8/8 Clean No-Intro ROMs Results: (CHANNELF) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 37                      
    ROMs UNIQUE               : 33                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 6                       
    ROMs Dups Deleted         : 2                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 8                       
    ROMs Total Cleaned        : 29                      
    ROMs Total Cleaned Size   : 0.06MB                  
    Start Time                : 05/04/2026 01:47:53     
    End Time                  : 05/04/2026 01:47:54     
    Elapsed Time              : 0.29                    

    Step 8/8 Clean No-Intro ROMs Results: (COLECOVISION) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 174                     
    ROMs UNIQUE               : 160                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 22                      
    ROMs Dups Deleted         : 10                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 32                      
    ROMs Total Cleaned        : 142                     
    ROMs Total Cleaned Size   : 1.56MB                  
    Start Time                : 05/04/2026 01:47:54     
    End Time                  : 05/04/2026 01:47:55     
    Elapsed Time              : 0.78                    

    Step 8/8 Clean No-Intro ROMs Results: (CPLUS4) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 18                      
    ROMs UNIQUE               : 14                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 13                      
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 13                      
    ROMs Total Cleaned        : 5                       
    ROMs Total Cleaned Size   : 0.05MB                  
    Start Time                : 05/04/2026 01:47:55     
    End Time                  : 05/04/2026 01:47:55     
    Elapsed Time              : 0.19                    

    Step 8/8 Clean No-Intro ROMs Results: (CRVISION) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 21                      
    ROMs UNIQUE               : 18                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 3                       
    ROMs Dups Deleted         : 3                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 6                       
    ROMs Total Cleaned        : 15                      
    ROMs Total Cleaned Size   : 0.07MB                  
    Start Time                : 05/04/2026 01:47:55     
    End Time                  : 05/04/2026 01:47:55     
    Elapsed Time              : 0.45                    

    Step 8/8 Clean No-Intro ROMs Results: (FDS) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 319                     
    ROMs UNIQUE               : 273                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 3                       
    ROMs Multicarts Kept      : 3                       
    ROMs Exceptions Deleted   : 70                      
    ROMs Dups Deleted         : 21                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 91                      
    ROMs Total Cleaned        : 228                     
    ROMs Total Cleaned Size   : 9.99MB                  
    Start Time                : 05/04/2026 01:47:55     
    End Time                  : 05/04/2026 01:47:58     
    Elapsed Time              : 2.45                    

    Step 8/8 Clean No-Intro ROMs Results: (GAMECOM) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 24                      
    ROMs UNIQUE               : 23                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 4                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 4                       
    ROMs Total Cleaned        : 20                      
    ROMs Total Cleaned Size   : 8.3MB                   
    Start Time                : 05/04/2026 01:47:58     
    End Time                  : 05/04/2026 01:47:58     
    Elapsed Time              : 0.24                    

    Step 8/8 Clean No-Intro ROMs Results: (GAMEGEAR) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 501                     
    ROMs UNIQUE               : 415                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 205                     
    ROMs Dups Deleted         : 26                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 231                     
    ROMs Total Cleaned        : 270                     
    ROMs Total Cleaned Size   : 45.45MB                 
    Start Time                : 05/04/2026 01:47:58     
    End Time                  : 05/04/2026 01:47:59     
    Elapsed Time              : 1.58                    

    Step 8/8 Clean No-Intro ROMs Results: (GB) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 1616                    
    ROMs UNIQUE               : 1320                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 1                       
    ROMs Multicarts Kept      : 7                       
    ROMs Exceptions Deleted   : 897                     
    ROMs Dups Deleted         : 112                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 1009                    
    ROMs Total Cleaned        : 607                     
    ROMs Total Cleaned Size   : 61.72MB                 
    Start Time                : 05/04/2026 01:47:59     
    End Time                  : 05/04/2026 01:48:04     
    Elapsed Time              : 4.18                    

    Step 8/8 Clean No-Intro ROMs Results: (GBA) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 3095                    
    ROMs UNIQUE               : 2142                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 1337                    
    ROMs Dups Deleted         : 602                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 1939                    
    ROMs Total Cleaned        : 1156                    
    ROMs Total Cleaned Size   : 4464.71MB               
    Start Time                : 05/04/2026 01:48:04     
    End Time                  : 05/04/2026 01:49:04     
    Elapsed Time              : 59.95                   

    Step 8/8 Clean No-Intro ROMs Results: (GBC) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 1430                    
    ROMs UNIQUE               : 1144                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 1                       
    ROMs Multicarts Kept      : 3                       
    ROMs Exceptions Deleted   : 657                     
    ROMs Dups Deleted         : 194                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 851                     
    ROMs Total Cleaned        : 579                     
    ROMs Total Cleaned Size   : 240.46MB                
    Start Time                : 05/04/2026 01:49:04     
    End Time                  : 05/04/2026 01:49:08     
    Elapsed Time              : 4.43                    

    Step 8/8 Clean No-Intro ROMs Results: (GMASTER) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 13                      
    ROMs UNIQUE               : 13                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 1                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 1                       
    ROMs Total Cleaned        : 12                      
    ROMs Total Cleaned Size   : 0.1MB                   
    Start Time                : 05/04/2026 01:49:08     
    End Time                  : 05/04/2026 01:49:08     
    Elapsed Time              : 0.2                     

    Step 8/8 Clean No-Intro ROMs Results: (GP32) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 35                      
    ROMs UNIQUE               : 23                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 7                       
    ROMs Dups Deleted         : 6                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 13                      
    ROMs Total Cleaned        : 22                      
    ROMs Total Cleaned Size   : 159.15MB                
    Start Time                : 05/04/2026 01:49:08     
    End Time                  : 05/04/2026 01:49:09     
    Elapsed Time              : 1.15                    

    Step 8/8 Clean No-Intro ROMs Results: (JAGUAR) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 64                      
    ROMs UNIQUE               : 61                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 6                       
    ROMs Dups Deleted         : 2                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 8                       
    ROMs Total Cleaned        : 56                      
    ROMs Total Cleaned Size   : 105.35MB                
    Start Time                : 05/04/2026 01:49:09     
    End Time                  : 05/04/2026 01:49:10     
    Elapsed Time              : 0.92                    

    Step 8/8 Clean No-Intro ROMs Results: (LYNX) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 87                      
    ROMs UNIQUE               : 85                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 10                      
    ROMs Dups Deleted         : 1                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 11                      
    ROMs Total Cleaned        : 76                      
    ROMs Total Cleaned Size   : 10.09MB                 
    Start Time                : 05/04/2026 01:49:10     
    End Time                  : 05/04/2026 01:49:11     
    Elapsed Time              : 0.54                    

    Step 8/8 Clean No-Intro ROMs Results: (MASTERSYSTEM) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 573                     
    ROMs UNIQUE               : 446                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 268                     
    ROMs Dups Deleted         : 24                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 292                     
    ROMs Total Cleaned        : 281                     
    ROMs Total Cleaned Size   : 35.76MB                 
    Start Time                : 05/04/2026 01:49:11     
    End Time                  : 05/04/2026 01:49:13     
    Elapsed Time              : 2.05                    

    Step 8/8 Clean No-Intro ROMs Results: (MEGADRIVE) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 1813                    
    ROMs UNIQUE               : 1307                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 750                     
    ROMs Dups Deleted         : 224                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 974                     
    ROMs Total Cleaned        : 839                     
    ROMs Total Cleaned Size   : 567.71MB                
    Start Time                : 05/04/2026 01:49:13     
    End Time                  : 05/04/2026 01:49:21     
    Elapsed Time              : 8.04                    

    Step 8/8 Clean No-Intro ROMs Results: (MSX1) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 937                     
    ROMs UNIQUE               : 612                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 92                      
    ROMs Dups Deleted         : 309                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 401                     
    ROMs Total Cleaned        : 536                     
    ROMs Total Cleaned Size   : 11.46MB                 
    Start Time                : 05/04/2026 01:49:21     
    End Time                  : 05/04/2026 01:49:36     
    Elapsed Time              : 14.96                   

    Step 8/8 Clean No-Intro ROMs Results: (MSX2) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 196                     
    ROMs UNIQUE               : 154                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 9                       
    ROMs Dups Deleted         : 39                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 48                      
    ROMs Total Cleaned        : 148                     
    ROMs Total Cleaned Size   : 17.55MB                 
    Start Time                : 05/04/2026 01:49:36     
    End Time                  : 05/04/2026 01:49:39     
    Elapsed Time              : 2.71                    

    Step 8/8 Clean No-Intro ROMs Results: (N64) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 950                     
    ROMs UNIQUE               : 498                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 352                     
    ROMs Dups Deleted         : 277                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 629                     
    ROMs Total Cleaned        : 321                     
    ROMs Total Cleaned Size   : 3737.25MB               
    Start Time                : 05/04/2026 01:49:39     
    End Time                  : 05/04/2026 01:50:51     
    Elapsed Time              : 72                      

    Step 8/8 Clean No-Intro ROMs Results: (N64DD) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 13                      
    ROMs UNIQUE               : 13                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 2                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 2                       
    ROMs Total Cleaned        : 11                      
    ROMs Total Cleaned Size   : 218.27MB                
    Start Time                : 05/04/2026 01:50:51     
    End Time                  : 05/04/2026 01:50:56     
    Elapsed Time              : 5.02                    

    Step 8/8 Clean No-Intro ROMs Results: (NES) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 2748                    
    ROMs UNIQUE               : 2001                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 1593                    
    ROMs Dups Deleted         : 342                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 1935                    
    ROMs Total Cleaned        : 813                     
    ROMs Total Cleaned Size   : 80.21MB                 
    Start Time                : 05/04/2026 01:50:56     
    End Time                  : 05/04/2026 01:51:02     
    Elapsed Time              : 6.13                    

    Step 8/8 Clean No-Intro ROMs Results: (NGP) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 11                      
    ROMs UNIQUE               : 11                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 5                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 5                       
    ROMs Total Cleaned        : 6                       
    ROMs Total Cleaned Size   : 2.61MB                  
    Start Time                : 05/04/2026 01:51:02     
    End Time                  : 05/04/2026 01:51:02     
    Elapsed Time              : 0.19                    

    Step 8/8 Clean No-Intro ROMs Results: (NGPC) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 120                     
    ROMs UNIQUE               : 88                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 70                      
    ROMs Dups Deleted         : 9                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 79                      
    ROMs Total Cleaned        : 41                      
    ROMs Total Cleaned Size   : 22.27MB                 
    Start Time                : 05/04/2026 01:51:02     
    End Time                  : 05/04/2026 01:51:03     
    Elapsed Time              : 0.87                    

    Step 8/8 Clean No-Intro ROMs Results: (O2EM) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 133                     
    ROMs UNIQUE               : 120                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 4                       
    ROMs Dups Deleted         : 13                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 17                      
    ROMs Total Cleaned        : 116                     
    ROMs Total Cleaned Size   : 0.31MB                  
    Start Time                : 05/04/2026 01:51:03     
    End Time                  : 05/04/2026 01:51:04     
    Elapsed Time              : 1.07                    

    Step 8/8 Clean No-Intro ROMs Results: (PCENGINE) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 420                     
    ROMs UNIQUE               : 354                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 21                      
    ROMs Dups Deleted         : 61                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 82                      
    ROMs Total Cleaned        : 338                     
    ROMs Total Cleaned Size   : 73.57MB                 
    Start Time                : 05/04/2026 01:51:04     
    End Time                  : 05/04/2026 01:51:07     
    Elapsed Time              : 3.01                    

    Step 8/8 Clean No-Intro ROMs Results: (PICO) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 343                     
    ROMs UNIQUE               : 320                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 44                      
    ROMs Dups Deleted         : 22                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 66                      
    ROMs Total Cleaned        : 277                     
    ROMs Total Cleaned Size   : 198.37MB                
    Start Time                : 05/04/2026 01:51:07     
    End Time                  : 05/04/2026 01:51:10     
    Elapsed Time              : 2.93                    

    Step 8/8 Clean No-Intro ROMs Results: (POKEMINI) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 44                      
    ROMs UNIQUE               : 24                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 7                       
    ROMs Dups Deleted         : 17                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 24                      
    ROMs Total Cleaned        : 20                      
    ROMs Total Cleaned Size   : 2.8MB                   
    Start Time                : 05/04/2026 01:51:10     
    End Time                  : 05/04/2026 01:51:10     
    Elapsed Time              : 0.43                    

    Step 8/8 Clean No-Intro ROMs Results: (PV1000) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 5                       
    ROMs UNIQUE               : 5                       
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 5                       
    ROMs Total Cleaned Size   : 0.03MB                  
    Start Time                : 05/04/2026 01:51:10     
    End Time                  : 05/04/2026 01:51:10     
    Elapsed Time              : 0.18                    

    Step 8/8 Clean No-Intro ROMs Results: (SATELLAVIEW) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 244                     
    ROMs UNIQUE               : 219                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 47                      
    ROMs Dups Deleted         : 21                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 68                      
    ROMs Total Cleaned        : 176                     
    ROMs Total Cleaned Size   : 77.46MB                 
    Start Time                : 05/04/2026 01:51:10     
    End Time                  : 05/04/2026 01:51:12     
    Elapsed Time              : 1.98                    

    Step 8/8 Clean No-Intro ROMs Results: (SCV) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 25                      
    ROMs UNIQUE               : 23                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 2                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 2                       
    ROMs Total Cleaned        : 23                      
    ROMs Total Cleaned Size   : 0.41MB                  
    Start Time                : 05/04/2026 01:51:12     
    End Time                  : 05/04/2026 01:51:13     
    Elapsed Time              : 0.49                    

    Step 8/8 Clean No-Intro ROMs Results: (SEGA32X) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 63                      
    ROMs UNIQUE               : 51                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 21                      
    ROMs Dups Deleted         : 9                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 30                      
    ROMs Total Cleaned        : 33                      
    ROMs Total Cleaned Size   : 57.51MB                 
    Start Time                : 05/04/2026 01:51:13     
    End Time                  : 05/04/2026 01:51:14     
    Elapsed Time              : 0.73                    

    Step 8/8 Clean No-Intro ROMs Results: (SG1000) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 208                     
    ROMs UNIQUE               : 101                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 85                      
    ROMs Dups Deleted         : 41                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 126                     
    ROMs Total Cleaned        : 82                      
    ROMs Total Cleaned Size   : 1.12MB                  
    Start Time                : 05/04/2026 01:51:14     
    End Time                  : 05/04/2026 01:51:16     
    Elapsed Time              : 2.23                    

    Step 8/8 Clean No-Intro ROMs Results: (SNES) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 3486                    
    ROMs UNIQUE               : 2267                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 2188                    
    ROMs Dups Deleted         : 474                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 2662                    
    ROMs Total Cleaned        : 824                     
    ROMs Total Cleaned Size   : 668.87MB                
    Start Time                : 05/04/2026 01:51:16     
    End Time                  : 05/04/2026 01:51:25     
    Elapsed Time              : 9.04                    

    Step 8/8 Clean No-Intro ROMs Results: (SUFAMI) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 13                      
    ROMs UNIQUE               : 13                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 13                      
    ROMs Total Cleaned Size   : 4.4MB                   
    Start Time                : 05/04/2026 01:51:25     
    End Time                  : 05/04/2026 01:51:25     
    Elapsed Time              : 0.23                    

    Step 8/8 Clean No-Intro ROMs Results: (SUPERGRAFX) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 5                       
    ROMs UNIQUE               : 5                       
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 5                       
    ROMs Total Cleaned Size   : 2.4MB                   
    Start Time                : 05/04/2026 01:51:25     
    End Time                  : 05/04/2026 01:51:25     
    Elapsed Time              : 0.18                    

    Step 8/8 Clean No-Intro ROMs Results: (SUPERVISION) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 63                      
    ROMs UNIQUE               : 63                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 63                      
    ROMs Total Cleaned Size   : 1.27MB                  
    Start Time                : 05/04/2026 01:51:25     
    End Time                  : 05/04/2026 01:51:26     
    Elapsed Time              : 0.42                    

    Step 8/8 Clean No-Intro ROMs Results: (SUPRACAN) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 9                       
    ROMs UNIQUE               : 9                       
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 9                       
    ROMs Total Cleaned Size   : 8.92MB                  
    Start Time                : 05/04/2026 01:51:26     
    End Time                  : 05/04/2026 01:51:26     
    Elapsed Time              : 0.25                    

    Step 8/8 Clean No-Intro ROMs Results: (VECTREX) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 45                      
    ROMs UNIQUE               : 41                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 13                      
    ROMs Dups Deleted         : 2                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 15                      
    ROMs Total Cleaned        : 30                      
    ROMs Total Cleaned Size   : 0.13MB                  
    Start Time                : 05/04/2026 01:51:26     
    End Time                  : 05/04/2026 01:51:26     
    Elapsed Time              : 0.39                    

    Step 8/8 Clean No-Intro ROMs Results: (VIDEOPACPLUS) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 34                      
    ROMs UNIQUE               : 33                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 7                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 7                       
    ROMs Total Cleaned        : 27                      
    ROMs Total Cleaned Size   : 0.14MB                  
    Start Time                : 05/04/2026 01:51:26     
    End Time                  : 05/04/2026 01:51:27     
    Elapsed Time              : 0.28                    

    Step 8/8 Clean No-Intro ROMs Results: (VIRTUALBOY) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 31                      
    ROMs UNIQUE               : 29                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 6                       
    ROMs Dups Deleted         : 2                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 8                       
    ROMs Total Cleaned        : 23                      
    ROMs Total Cleaned Size   : 8.04MB                  
    Start Time                : 05/04/2026 01:51:27     
    End Time                  : 05/04/2026 01:51:27     
    Elapsed Time              : 0.26                    

    Step 8/8 Clean No-Intro ROMs Results: (VSMILE) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 112                     
    ROMs UNIQUE               : 102                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 19                      
    ROMs Dups Deleted         : 10                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 29                      
    ROMs Total Cleaned        : 83                      
    ROMs Total Cleaned Size   : 305.42MB                
    Start Time                : 05/04/2026 01:51:27     
    End Time                  : 05/04/2026 01:51:30     
    Elapsed Time              : 2.57                    

    Step 8/8 Clean No-Intro ROMs Results: (WSWAN) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 116                     
    ROMs UNIQUE               : 111                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 1                       
    ROMs Dups Deleted         : 5                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 6                       
    ROMs Total Cleaned        : 110                     
    ROMs Total Cleaned Size   : 92.61MB                 
    Start Time                : 05/04/2026 01:51:30     
    End Time                  : 05/04/2026 01:51:31     
    Elapsed Time              : 1.35                    

    Step 8/8 Clean No-Intro ROMs Results: (WSWANC) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 95                      
    ROMs UNIQUE               : 92                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 2                       
    ROMs Dups Deleted         : 3                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 5                       
    ROMs Total Cleaned        : 90                      
    ROMs Total Cleaned Size   : 143.92MB                
    Start Time                : 05/04/2026 01:51:31     
    End Time                  : 05/04/2026 01:51:32     
    Elapsed Time              : 1.46    

  ======================================================================
  **********************************************************************
  >> SECTION: RESULTS BATOCERA [1/1]
  **********************************************************************
  ======================================================================
  Exceptions ROMs (No-Intro) Elapsed Time     : 5.55 seconds
  Cleanup    ROMs (No-Intro) Elapsed Time     : 289.24 seconds
  Exceptions ROMs (Custom)   Elapsed Time     : 0.01 seconds
  Cleanup    ROMs (Custom)   Elapsed Time     : 0.01 seconds
  Upload     ROMs (No-Intro) Elapsed Time     : 0.01 seconds
  Upload     ROMs (Custom)   Elapsed Time     : 0.01 seconds
  Distro Start Time                           : 05/04/2026 01:46:38
  Distro End Time                             : 05/04/2026 01:51:32
  Distro Elapsed Time                         : 294.83 seconds



  ======================================================================
  **********************************************************************
  >> SECTION: CLEAN CUSTOM ROMS BATOCERA [1/1]
  **********************************************************************
  ======================================================================
 
    Step 8/8 Clean No-Intro ROMs Results: (AMSTRADCPC) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 2416                    
    ROMs UNIQUE               : 2140                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 168                     
    ROMs Multicarts Kept      : 191                     
    ROMs Exceptions Deleted   : 91                      
    ROMs Dups Deleted         : 52                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 143                     
    ROMs Total Cleaned        : 2273                    
    ROMs Total Cleaned Size   : 80.71MB                 
    Start Time                : 05/04/2026 01:58:22     
    End Time                  : 05/04/2026 01:58:30     
    Elapsed Time              : 8.08                    

    Step 8/8 Clean No-Intro ROMs Results: (APPLE2) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 1006                    
    ROMs UNIQUE               : 458                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 141                     
    ROMs Multicarts Kept      : 219                     
    ROMs Exceptions Deleted   : 220                     
    ROMs Dups Deleted         : 122                     
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 342                     
    ROMs Total Cleaned        : 664                     
    ROMs Total Cleaned Size   : 37.88MB                 
    Start Time                : 05/04/2026 01:58:30     
    End Time                  : 05/04/2026 01:58:34     
    Elapsed Time              : 4.03                    

    Step 8/8 Clean No-Intro ROMs Results: (ATARI800) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 8333                    
    ROMs UNIQUE               : 3105                    
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 220                     
    ROMs Multicarts Kept      : 269                     
    ROMs Exceptions Deleted   : 3880                    
    ROMs Dups Deleted         : 1250                    
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 5130                    
    ROMs Total Cleaned        : 3203                    
    ROMs Total Cleaned Size   : 67.78MB                 
    Start Time                : 05/04/2026 01:58:34     
    End Time                  : 05/04/2026 01:58:48     
    Elapsed Time              : 14.62                   

    Step 8/8 Clean No-Intro ROMs Results: (COCO) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 109                     
    ROMs UNIQUE               : 97                      
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 38                      
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 38                      
    ROMs Total Cleaned        : 71                      
    ROMs Total Cleaned Size   : 0.85MB                  
    Start Time                : 05/04/2026 01:58:48     
    End Time                  : 05/04/2026 01:58:49     
    Elapsed Time              : 0.48                    

    Step 8/8 Clean No-Intro ROMs Results: (INTELLIVISION) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 189                     
    ROMs UNIQUE               : 161                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 38                      
    ROMs Dups Deleted         : 16                      
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 54                      
    ROMs Total Cleaned        : 135                     
    ROMs Total Cleaned Size   : 1.1MB                   
    Start Time                : 05/04/2026 01:58:49     
    End Time                  : 05/04/2026 01:58:50     
    Elapsed Time              : 0.61                    

    Step 8/8 Clean No-Intro ROMs Results: (MAME\MAME2003) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 1                       
    ROMs UNIQUE               : 1                       
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 0                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 0                       
    ROMs Total Cleaned        : 1                       
    ROMs Total Cleaned Size   : 1397.73MB               
    Start Time                : 05/04/2026 01:58:50     
    End Time                  : 05/04/2026 01:59:05     
    Elapsed Time              : 15.12                   

    Step 8/8 Clean No-Intro ROMs Results: (NEOGEO) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 149                     
    ROMs UNIQUE               : 149                     
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 0                       
    ROMs Multicarts Kept      : 0                       
    ROMs Exceptions Deleted   : 2                       
    ROMs Dups Deleted         : 0                       
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 2                       
    ROMs Total Cleaned        : 147                     
    ROMs Total Cleaned Size   : 2631.84MB               
    Start Time                : 05/04/2026 01:59:05     
    End Time                  : 05/04/2026 01:59:32     
    Elapsed Time              : 27.67                   

    Step 8/8 Clean No-Intro ROMs Results: (ZXSPECTRUM) BATOCERA [1/1]
    ============================================================
    ROMs TOTAL                : 61615                   
    ROMs UNIQUE               : 13760                   
    ROMs Msrc Dedup Deleted   : 0                       
    ROMs Multicart Games      : 547                     
    ROMs Multicarts Kept      : 585                     
    ROMs Exceptions Deleted   : 39702                   
    ROMs Dups Deleted         : 13219                   
    ROMs Non-Dup Deleted      : 0                       
    ROMs Total Deleted        : 52921                   
    ROMs Total Cleaned        : 8694                    
    ROMs Total Cleaned Size   : 301.47MB                
    Start Time                : 05/04/2026 01:59:32     
    End Time                  : 05/04/2026 02:01:47     
    Elapsed Time              : 134.7    
    
  ======================================================================
  **********************************************************************
  >> SECTION: RESULTS BATOCERA [1/1]
  **********************************************************************
  ======================================================================
  Exceptions ROMs (No-Intro) Elapsed Time     : 0.01 seconds
  Cleanup    ROMs (No-Intro) Elapsed Time     : 0.01 seconds
  Exceptions ROMs (Custom)   Elapsed Time     : 88.03 seconds
  Cleanup    ROMs (Custom)   Elapsed Time     : 205.35 seconds
  Upload     ROMs (No-Intro) Elapsed Time     : 0.01 seconds
  Upload     ROMs (Custom)   Elapsed Time     : 0 seconds
  Distro Start Time                           : 05/04/2026 01:56:54
  Distro End Time                             : 05/04/2026 02:01:47
  Distro Elapsed Time                         : 293.42 seconds
