I've read in many places here on the forum and elsewhere online that when using an EPROM which is of greater size than original ROM, you need to copy the PRG and CHR part of the ROM several times so it consumes the whole EPROM. Is this also true for EEPROM and FLASH chips? Why is it necesary to do this?
If the mapper has a fixed bank, and you know all bank numbers that will ever be written to the bank number registers, you need to fill only those banks that are actually used. But when running arbitrary code, you don't necessarily know what the code will write to unused bits of the bank number registers. For example, a program might depend on banks 4 and 12 containing the same data because the original board used only the three least significant bits and therefore ignored the difference between bank 4 (%0100) and bank 7 (%1100). Duplicating the data throughout the whole addressable area makes it appear to the program that the bits are still being ignored.
So if I use a NROM board without mapper, then there is no possibility of accessing outside of the 32KB PRG that is expected (NROM-256)? and I only need to copy it once?
Yes. But be sure to tie the unused addresses to ground
We usually fill the entire chip to reduce the chances for errors when soldering the chip, because even if you don't ground all the upper address pins the game will still work. If you have full confidence in your soldering, there's no need to fill the chip.
tokumaru wrote:
We usually fill the entire chip to reduce the chances for errors when soldering the chip, because even if you don't ground all the upper address pins the game will still work. If you have full confidence in your soldering, there's no need to fill the chip.
Not so much about soldering (as a floating line can cause all sorts of glitches even with duplicated data) as it is to have it work even if you tie one line high/low when it should've been vice versa.