While working on a game I noticed a very important issue with the SuperCPU that needed a workaround.
I had the VIC configured in bank 1 and I configured the SuperCPU to mirror bank 1 to C128 RAM. Then I used a relocated stack to write a sprite to RAM bank 1 under the MMU registers at $ff00. This works when not having a SuperCPU attached but the SuperCPU is tricked by the stack relocation and doesn’t mirror the copied sprite data to the C128 RAM so it acts as if nothing was copied.
One workaround is of course to not do stack relocation writes to bank 1. Another one is to mirror both banks when doing the copy (didn’t try this).
if you Super CPU is mapping its Bank 1 to C128 RAM, and you write to it, then as far as the 128 is concerned you are writing to 100XX not 000XX right. You probably need to configure the SuperCPU to point to Bank 0, make sure shared memory is off in the MMU and then write to ZP with relocation so the MMU gets 0:00XX and hence remaps it.