Haha, okay, now we are on the same page! To be honest, I use exactly the same approach.
I wrote a microcode compiler for my CPU, and filling a matrix of 3x8 ROM chips by hand was a massive pain in the ass. So, I also ended up writing a Python script to handle it. I even named it nero_burning_rom.
However, looking at it from the developer’s perspective, keeping data formatted in a single, massive native ROM file so that DLS understands it correctly is going to be just as much of a headache to maintain.
That being said, I am actually planning to run the original Commodore PLUS/4 ROM on my processor in the future, so I will eventually need a proper 64KB ROM block anyway just to make things easier. But even when I get to that point, I will still use an external script to parse the raw binary ROMs and inject them straight into the DLS project JSON. It’s just more efficient.
If you do end up messing with the source code and come up with a clean solution for a bigger ROM component, let me know! Unless, of course, I beat you to it and implement it first—though that’s unlikely anytime soon, as I’m currently stuck deep in RST/IRQ/NMI interrupts and replicating the TED chip.