Normally, the cartridge can choose whether to use 2C02's built-in VRAM or provide its own. When using 2C02's VRAM, the cart can choose the mirroring type by connecting the CIRAM-A10 to A10 for vertical mirroring or A11 or horizontal mirroring.
Emulating the original implementation will require additional Cart<->2C02 communication (getting the mapper type or some connector) or lowering the level of abstraction for PPU bus addresing.
The better idea is to leave all the VRAM handling to cart - either the cart will always provide VRAM (better, even if it ignores real implementation, behavior stays the same) or the 2C02 can provide additional CIRAM interface (probably uneccessary overhead).
Normally, the cartridge can choose whether to use 2C02's built-in VRAM or provide its own. When using 2C02's VRAM, the cart can choose the mirroring type by connecting the CIRAM-A10 to A10 for vertical mirroring or A11 or horizontal mirroring.
Emulating the original implementation will require additional Cart<->2C02 communication (getting the mapper type or some connector) or lowering the level of abstraction for PPU bus addresing.
The better idea is to leave all the VRAM handling to cart - either the cart will always provide VRAM (better, even if it ignores real implementation, behavior stays the same) or the 2C02 can provide additional CIRAM interface (probably uneccessary overhead).