It is amazing! With some brutal hacks to some array indices, and probably some excessive quoting changes it can work in Bash too:
echo -ne '\e[8;32;90;t'; n=20; t=524292; l=$((t-1)); m=$((2\*n-1)); c=0; xs=(1); ys=(1); for ((i=0; i<n*m; i++)); do b=$((l&1)); l=$(((l>>1)^(b*t))); c=$((((c<<1)|b)&m)); if ((i%n==0)); then xs=("$c" "${xs[@]:0:4}"); y=$(( ((xs[4]-xs[0])<<30) - 0x3fffd60f*ys[1] + 0x7d32617c*ys[0] )); y=$((y>>30)); ys=("$y" "${ys[@]:0:1}"); yd=$((120+(y>>24))); printf '\e[48;5;%um ' "$yd"; fi; done
This could probably be submitted to
https://github.com/attogram/bash-screensavers/blob/main/gall...