My rom collection comes from a dvd image circulating on internet called “6666 in 1[ROM PACK] RETRO_LEGENDS [NES-SNES-NeoGeo-GBA-Mame-Sega Genesis-SMS-Atari-N64-TurboGrafX-ZX Spectrum]”.
Some of the roms are not added through the “Scan directory” process. I came upon this reddit tread which explains everything:
[–]ShiftyAxel[S] 7 points 1 year ago* I put this together to properly organise my ROM collection after switching over to RetroArch. The new XMB UI sold me on it, but I ran into the issue of not being able to add certain ROMs to my library. Not being one to give up, I took a look at the files used to store game info for the per-console XMB columns, and wrote this script to generate my own. I figured I’d share in case someone else can make use of it. Getting your games to show up with the Add Content -> Scan feature only works for specific ROMs that can be checksummed against the no-intro romset. If the checksum fails (ex. if you have a different version of the ROM dump, or an unreleased beta that hasn’t been catalogued), then you can’t access it through the fancy library UI. You instead have to manually locate the ROM via the built-in file browser every time you want to run it. This script is designed to get around that. It manually generates the necessary playlist files based on local filenames rather than the no-intro database, and thus will let you add your entire collection without issue. It even supports disk image formats such as ISO, which can’t be added through the RetroArch UI due to being too large to checksum.
So, it means that this dvd image contains many “unofficial” roms. To find the official roms, I just rewrote the script in bash to run it on Linux. If you want the batch script for Windows, check the reddit post, See the reddit thread and the script for instructions. I’ve added an option to append unofficial roms to the playlists instead of rewriting it completely without references to no-intro.org. I’ve only tested it for Snes.
Cheers