// SPDX-License-Identifier: Unlicense #include #include static uint16_t lfsr = 0xff80; /* [6:0] unused */ static void create_new_byte(void) { int i; uint16_t b; for (i = 0; i < 8; i++) { b = ((lfsr << 4) ^ lfsr) & 0x8000; lfsr <<= 1; if (b) lfsr |= 0x0080; } } static uint8_t get_new_byte(void) { return lfsr >> 8; } int main(int argc, char *argv[]) { int i; for (i = 0; i < 511; i++) { putchar(get_new_byte()); create_new_byte(); } return 0; }