As far as I know about it, we can divide the CPU memory area used to store ROM PRG into slots. These slots contains pages that are load from the cartridge.
Here is my question : considering a game that uses mapper technology. Can I say for sure that its ROM PRG is divided into slots of same size ?
For instance, lets take a game that allows 4 slots. Do these slots have have all a size of $2000 bytes?
Not always.
Some mappers let you use multiple page sizes, such as MMC1, where you can use either 16K or 32K PRG pages.
Other mappers only let you use one size of page, such as MMC3, where all PRG pages are 8K in size.
Thank you for your reply Dwedit.
But, do all slots have the same size once a configuration has been chosen?
Well, there's no technical requirement that the "slots" should be the same size, so your emulator/whatever shouldn't rely on that. In fact MMC5 for example has a mode (mode #2) where one bank is 16K and other two are 8K:
http://wiki.nesdev.com/w/index.php/MMC5 ... .245100.29
Even if no existing cartridge had such a configuration, it would still be electronically possible to do, so you shouldn't impose that kind of restriction anyway.
The concept of banks and slots is something that makes easier for us programmers to grasp the concept of bankswitching, but down on the hardware level there is no such thing as slots, it's all about using the address supplied by the CPU to select which part of a memory chip (or chips) will be read. So technically you can even do crazy things like even addresses read from one chip while ood ones read from another.
So I was wrong in my thoughts.
I'm still working on the translation of a japanese ROM, and I've made a tool that represents the CPU memory state when displaying message on screen. I've coded the tool in order to it computes automatically the size of slots aocording to their number. It works for my case, but as you said, I'll have to improve my tool to applicate it on other projects