The PowerPak boot ROM and menu system use its own simple mapper. The PowerPak menu is split into a series of modules that reside at $0400-$07FF in the NES's built-in RAM and are loaded from the CF card. After booting, the module "I.MAP" is loaded and run.
See also: PowerPak development resources
Modules are switched between by writing the filename to fileEntry (usually a single character, calling ClearFindEntry beforehand if it's not already cleared), then calling CardLoadModule. Source for all modules is located here.
The boot ROM writes $FF to this register. It tells the FPGA it is being reprogrammed.
7 bit 0 ---- ---- DDDD DDDD |||| |||| ++++-++++- Writes a byte of configuration to the FPGA.
7 bit 0 ---- ---- .... ..DD || ++- Selects the bank of boot ROM that appears at $8000-$BFFF.
Banks 0, 1 and 2 contain the initial FPGA configuration. Bank 3 contains 8KB of font and then 8KB of system routines. As the last 16KB are also accessible via the fixed bank, the $8000-$BFFF area isn't useful for menu software.
7 bit 0 ---- ---- WCDD DDDD |||| |||| ||++-++++- Selects the bank of PRG RAM that appears in $6000-$7FFF. |+-------- Enable CHR RAM writing if 1. +--------- Selects from 32KB of WRAM instead of main PRG RAM.
7 bit 0 ---- ---- ..DD DDDD || |||| ++-++++- Selects the bank of CHR RAM used.
Categories: Mappers using $4020-$5FFF