After downloading DAT files, you need to process them to organize and prepare them for use with emulators and ROM managers. This guide covers the complete processing workflow.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/laromicas/datoso/llms.txt
Use this file to discover all available pages before exploring further.
Understanding DAT Processing
Processing transforms raw DAT files into an organized structure by:- Loading and validating DAT file contents
- Applying filters to select specific DATs
- Executing actions (copy, deduplicate, merge)
- Saving to your configured destination
- Updating the internal database
Basic Processing Workflow
Process All DATs
Process all downloaded DATs from a seed:This processes all DAT files from
~/.datoso/tmp/redump/dats/ and copies them to your configured destination.Filtering DATs
Use filters to process only specific DAT files by name pattern:--filter parameter matches against the DAT filename, processing only files containing that string.
Combined Fetch and Process
Fetch and process in one command:Processing Actions
Datoso executes a series of actions when processing each DAT. The default action pipeline includes:Standard Actions
- LoadDatFile - Loads and parses the DAT file
- DeleteOld - Removes outdated versions
- Copy - Copies to destination with proper organization
- SaveToDatabase - Updates internal database
- MarkMias - Marks missing-in-action ROMs (if enabled)
Optional Actions
Additional actions can be enabled via configuration:Processing Multiple Seeds
Process All Seeds
Process DATs from all installed seeds:Selective Processing
Advanced Processing Options
Specify Custom Actions
Execute only specific actions during processing:LoadDatFile- Parse DAT fileDeleteOld- Remove old versionsCopy- Copy to destinationSaveToDatabase- Update databaseMarkMias- Mark MIA ROMsAutoMerge- Auto-merge duplicatesDeduplicate- Remove parent duplicates
Verbose Output
See detailed processing information:Processing Status Messages
Understanding the output:| Status | Meaning |
|---|---|
Created | New DAT file created |
Updated | Existing DAT file updated with new version |
Exists | DAT already exists and is current |
Overwritten | DAT overwritten (when Overwrite=True) |
Disabled | DAT is disabled, not processed |
Deduped | Duplicates removed via parent merge |
Automerged | Internal duplicates merged |
No Action Taken, Newer Found | Database has newer version |
Error | Processing error occurred |
Configuration Options
Essential Processing Settings
Ignore Patterns
Skip processing certain DATs with regex patterns:Output Directory Structure
Processed DATs are organized based on each seed’s rules:Each seed plugin defines its own folder structure rules. The structure above is simplified - actual organization may vary by seed.
Troubleshooting
Processing Fails
If processing encounters errors:Common Issues
“No Action Taken, Newer Found”- Your database already has a newer version
- To force reprocess:
datoso config --set PROCESS.Overwrite=True
- The DAT has been disabled in the database
- Re-enable with:
datoso dat -d seed:datname --set enabled=True
- Ensure filter string matches part of the filename
- Use quotes for filters with spaces:
--filter "Sony - PlayStation"
- Check
PATHS.DatPathconfiguration - Verify the seed’s action rules with verbose mode
Example Workflows
Complete Workflow for New Seed
Update Existing DATs
Process Specific System
Next Steps
After processing, you may want to:- Deduplicate DATs to remove redundant entries
- Manage DAT properties to enable/disable or configure specific DATs
- Work with seeds to install additional sources
Processing does not download ROMs - it only organizes DAT files that describe ROM collections. Use the processed DATs with ROM managers like ROMVault or CLRMamePro.