Comment on Are there typically limits to the size that ROMs can be when it comes to emulators?
KpntAutismus@lemmy.world 10 months ago
the NES had some titles where there were two ROM banks where access to one of them were switched when a certain part of the game was reached. this had to do with the limited RAM of the system i believe. you could technically do this but hundreds and thousands of times.
technically, it would also be possible to increase the RAM capacity and make it emulator-only. it has been an emulator detection feature to try to access a memory adress outside of the possible capacity.
DebatableRaccoon@lemmy.ca 10 months ago
I thought the reason for switching was the storage limitations of a cartridge, not the console’s RAM
KpntAutismus@lemmy.world 10 months ago
AFAIK, the contents of the cartridge was entirely loaded into RAM, so one bank of ROM chips needed to be a specific size. the cartridge of course gets much more expensive if you double the storage, so it wasn’t done very often.
youtu.be/ZWQ0591PAxM they mention switching storage at 1:10.
DebatableRaccoon@lemmy.ca 10 months ago
Thanks for the correction and further detail. I was thinking of it in moder terms where the machine takes the info it needs as-and-when rather than storing everything on the cartridge.
YaBoyMax@programming.dev 10 months ago
Bank switching is necessary because the 6502 chip in the NES has a 16-bit address space, with the bottom 0x4019 (~16K) bytes being reserved for system use (RAM, PPU/APU features, and controller I/O). Cartridges therefore only had access to a ~48 KiB range of address space (although in practice I believe only the top 32K was typically used for ROM), so bank switching was needed to be able to fully access anything larger.