Hmmm.. I tried this but it is still garbled. Assume that the first two are loaded OK and the screen is displaying $2800 nametable correctly (screen 2). Here is my code:
jsr pollstrt ;poll start button
and #%11110111 ;Turn off background
jsr waitv2 ;Copies ppureg1 into $2001 only during vblank, so wait
jsr load1st ;load the third nametable all at once at $2000
jsr swapnam0 ;swap nametables so we see newly loaded nametable
ora #%00001000 ;Turn on background
At this point the third screen should have appeared.. but its garbage again. Am I turning the screen off correctly?