Builds a set of DATs for libretro-database.
Builds the following sources...
- Redump
- No-Intro
- TOSEC
- Node.js 22.12 or newer
unzip- Playwright CLI, to download
No-Intro and TOSEC:
npm install -g @playwright/cli@latest
-
Clone the repository...
git clone https://github.com/RobLoach/libretro-dats.git cd libretro-dats git submodule update --init npm install -
Download the No-Intro and TOSEC packs into
input/downloads/. -
Extract them, and check they landed where
dats.jsonexpects.input/no-intro/No-Intro/Nintendo - Nintendo Entertainment System*.dat input/tosec/TOSEC/Sony PlayStation*.dat -
Run the script, which also fetches Redump...
npm start
--skip-downloadbuilds from the input files already on disk, without fetching anything. A source being unreachable no longer stops the DATs whose input is already in place from rebuilding, so this is mostly for working offline.--force-downloadfetches the sources again, instead of reusing what an earlier run downloaded. Without it, a Redump system is reused for a day, then fetched again.
npm start -- --skip-downloaddats.json maps each DAT that gets built to the input files it is built from:
"database/metadat/redump/Atari - Jaguar CD": {
"files": [
"input/redump/ajcd/Atari - Jaguar CD*.dat"
]
}Adding a disabled property turns an entry off without losing its file
patterns, and the reason is printed in the run summary:
"database/metadat/tosec/Sega - Saturn": {
"files": [
"input/tosec/TOSEC-ISO/Sega Saturn - Ga*"
],
"disabled": "TOSEC-ISO was dropped as a source"
}npm test