If you're program runs off some sort of external interrupts, how about just sampling from a fast free runnning counter. Or some external noise source attached to an ADC input. I know it's not an entirely software solution, but it might give more randomness as it were. Martin.