3 ms·
Most Game Boy games use a bank switching chip in the cartridge, so can be larger than the 32k slot in address space.
by fredoralive 4y ago
Most Game Boy games use a bank switching chip in the cartridge, so can be larger than the 32k slot in address space.
- hyperman1 4y agoIf you browse a bit on the second link, it will give you a list of common cartridge models. See e.g. https://gbdev.io/pandocs/MBC5.html https://gbdev.io/pandocs/MBC5.html which gives you 8MB as peak ROM size, but it is all paged via the 2nd half of the cartridges address space, in blocks of 16K. Code used by the whole program preferably resides in the first (unbanked) 16K. This pushes program designs to prefer to either use banking mainly for data (maps/graphics/...), or split the program in independent 16K sized sub-programs that don't communicate too much. If code in bank A uses data from bank B, you'll have to switch back and forth a lot, mediated by unbanked code. You can go all the way, of course, but it is an annoying way to program.