> I don't know if byuu does split ROMs or not. I seem to recall that that was a large point of contention between him and the team in the past.
I do both. I separate archival from playing.
For archival, I think it's better to have a flat file with a SHA256 sum of the entire thing. Easier to backup, easier to verify.
For playing, I believe in split files. Easier and cleaner to load into the emulator.
MAME and I disagree on how the splitting is done. MAME splits by IC. I split by purpose. Literally everyone else splits by immutability (one ROM file/archive, one SRAM file.)
MAME's method will group the program and data ROM of a coprocessor's firmware because they were in the same chip. This allows a person to program a new chip to replace a bad one. They also label the file to match the writing on the chip so it's easy to find for repairs. MAME likes to put all these files into ZIP archives. This is especially great for arcades that rarely have mutable data to worry about. MAME's method is better for preserving hardware variants.
My method groups things by purpose. I will merge two separate 8mbit ROM chips into a single 16mbit ROM file. But I will split a coprocessor into program and data ROMs, because they are used separately inside the emulator. I also label files by their purpose (eg character.rom for NES CHR-ROM, save.ram for save data, etc), which makes it easier for people looking at the files to understand their purpose. I put the files into folders, which is nicer for the consoles I deal with that often have mutable data (SRAM, flash, etc.) My method doesn't preserve variants as well, but the result will be 100% identical under emulation always.
These days, I'm not really interested in trying to proclaim one method is better than the other. The world is a big place, there's room for both. Each have their pros and cons. You can convert between the two by parsing both of our databases with a specialized tool.