gave it a go.
loading numbers into 'original' arrays, copying them into 'local' arrays to modify during the selection process.
still got some 'blocks dropped', but if i run it at blocksize 64 that seems solved. which is nice.
no more mode switches either, not even on re-copying as described above, so exactly as expected.
very cool so far.
now to hook up the display.