1. short
2. fast
3. accurate
Pick two :P.
This is a quick&dirty one that works for me:
Code:
Init: move.l #<seed>,d7 ; large prime numbers
move.l #$6be7d35b,d6 ; are good...
Rng: swap d7
add.l d6,d7
eor.l d6,d7
It's based on this:
https://en.wikipedia.org/wiki/Xorshift