The LFSR not generating 0 is just a fact of LFSRs. (https://en.wikipedia.org/wiki/Maximum_length_sequence?wprov=sfla1). A 43bit LFSR is no different in this regard. This is why it is a pseudorandom number generator - it doesn't generate truly random numbers, which would naturally include 0. However, for large LFSRs, this basically doesn't matter, given that 0 is just one number in a field of billions to trillions for large LFSRs
I never asked for true randomness, just that the result should be random like.
The 43bit LFSR allows 0 as a result on the 32 bit LSBs since the upper hidden bits do not need to be at the same time, so 0 on bits 31:0 wont kill the generator.
Rotating 32 bits with 4 xor points isn't enough and seems to favor strings of '011's or '110's between bits 10 & 29 as the color of my snow was tinted green.
Your LFSR just wasn't wide enough and alone, even the 42bit one I has also has a characteristic to the snow, though it's average color was gray. Xor-ing it with the CASR make the result truly like an old analog TV tuned to an empty station, except the snow was colored.
Again, using the CASR alone would look like as if an analog HDTV would have been tuned into some high frequency snow, but just artificially overkill on it's own.
If you arent going to plot these generators continuously on 8mgabyte graphic display, just picking 2 adjacent numbers from the generator will look random.
Also, for your 32bit number generator, whatever number goes in, the next one is always guaranteed to be the same. So, at 4GHz, in theory I should see every 32 bit number, right?
This wont happen as the LFSR generators do not achieve 100% coverage. Also randomness means with only 1 pass, there should be a good percentage of repeats. The extra bits with a 42bit LFSR allow for some of these circumstances when operating with only the first 32 bits, though it is still not enough.