Fx3 wrote:
Can't you simply add "blanks" or dummy data, as FFs? Why would you repeat data?
Because in hardware, if you don't use the higher address lines, you get the effect that the data is replicated. Because the higher address lines do not matter, the lower address lines will point to the same addresses, even if the higher address lines have different values.
Padding with $00 or $FF might work in most cases, but maybe some programs expect the data to be mirrored. Since the 6502 expects that the reset, NMI and IRQ addresses are defined in the last 6 bytes of the addressable space, it would be logical that an 8KB ROM used memory from $E000 to $FFFF. But nothing stops it from defining the reset address as $8000, which requires the ROM to be mirrored there too, or the program would crash right away.
Ideally, iNES would allow for ROM sizes smaller than 16KB, but it's too late for that now.