Okay.
I'm rewriting 2d core and I included a new GPU struct, no more MainScreen.gpu and SubScreen.gpu. There are 2 gpus, gpuA and gpuB, each has an offset of 0 or 192. If bit15 of powcnt1 is clear the screens are reversed and so the gpus' offsets are also reversed.
__________________
If you're wondering where Mario__ is, he is currently saving Peach__ once again.