$FF90 BIT 7=
COCO
1=COCO1 OR 2 0=COCO3
BIT 6= MMU 1=ENABLED 0=DISABLED
BIT 5= IRQ 1=ENABLED
BIT 4= FIRQ 1=ENABLED
BIT 3= MAP3 1=DRAM at XFEXX constant
BIT 2= MAP2 1=standard SCS
BIT 1= MAP1 ROM map
BIT 0= MPA0 ROM map
normally
MAP1=1 & MAP0 x for 16K internal
16K
external
$FF91 BIT 7
BIT 6
BIT 5= TIMER normally 0
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0= TASK MMU Task select
$FFA0 - $FFA7 MMU Task 0
$FFA8 - $FFAF MMU Task 1
Both have the same memory assignments
$FFA0/8 $0000-$1FFF
$FFA1/9 $2000-$3FFF
$FFA2/A $4000-$5FFF
$FFA3/B $6000-$7FFF
$FFA4/C $8000-$9FFF
$FFA5/D $A000-$BFFF
$FFA6/E $C000-$DFFF
$FFA7/F
$E000-$FFFF
But $FE00-$FFFF can be held constant at $7FExx
If you don't know it is safe not to, you should turn off interrrupts before swapping MMU blocks. Be very careful when swapping out ROM or low system RAM.