My question is about bankswitching behaviour on the Commodore 64.
I'm writing a C64 game for a 16kb cartridge with EXROM and GAME pulled low, so the available bankswitching modes are (according to c64-wiki):
The VIC-II display registers are memory-mapped into $D000-$D3FF. On boot up, CHAREN, HIRAM and LORAM will all be 1, so the system will start in mode 7, with I/O
access enabled within that memory region.
Does CPU access to the VIC-II registers fall under the category of I/O
?
If I switch to mode 4 to allow access to the 'full' ~64kB of RAM, will I still be able to access VIC-II registers from the CPU, or will I have to switch to mode 5 to put I/O
back into the memory map?
(Assume my code has been copied to some location in RAM first (e.g. $6000) at that point so it won't be affected by any mode changes.)